- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有课
@Embeddable
public class MyClass implements Serializable
{
private String field1;
private String field2;
private String field3;
// getters, setters
}
我已经映射类
public class MappedClass implements Serializable
{
@Embedded
@AttributeOverrides(
{
@AttributeOverride(name = "field1", column = @Column(name = "column1")),
@AttributeOverride(name = "field2", column = @Column(name = "column2")),
@AttributeOverride(name = "field3", column = @Column(name = "column3"))
})
private MyClass myClassField1;
@Embedded
@AttributeOverrides(
{
@AttributeOverride(name = "field1", column = @Column(name = "column1")),
@AttributeOverride(name = "field2", column = @Column(name = "column2")),
})
private MyClass myClassField2;
// setters, getters
}
我希望 myClassField2 中的“filed3”为“null”,因为“field3”没有数据库映射。我能做些什么? “field3”列中“field3”的 JPA 搜索值
在Hibernate中全部通过正常!
<component name="myClassField1" class="MappedClass">
<property name="field1" type="string" column="column1" />
<property name="field2" type="string" column="column2" />
<property name="field3" type="string" column="column3" />
<component/>
<component name="myClassField2" class="MappedClass">
<property name="field1" type="string" column="column1" />
<property name="field2" type="string" column="column2" />
<component/>
但是我在 JPA 中需要这个
最佳答案
你想做的事是不可能的。一个字段要么是持久的,要么是短暂的。它不能有时是一个,有时是另一个。
考虑定义一个只有两个字段的 MyClass1,以及一个扩展 MyClass1 并添加第三个字段的 MyClass2。将第一个用于 myClassField2
,将第二个用于 myClassField1
。
请注意,在您的示例中,您将 column1 和 column2 映射了两次,这也是不正确的。
关于java - AttributeOverride 将空值设置为未映射的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9634936/
我试图更改子类表中的列名,但 @AttributeOverride 注释并未更改它。 @Entity @Table(name="emp") @Inheritance(strategy=Inherita
我有代码 @MappedSuperclass @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS) @XmlAccessorType(Xml
您好,我遇到了 Hibernate 和 @AttributeOverrides 注释的问题。 我有可嵌入的类(class)钱 @Embeddable public class Money imple
嵌入式 Money 类中有面额字段。 @Column(scale = 4, precision = 20) private BigDecimal denomination; 当我在某些实体类中多次使用
我有课 @Embeddable public class MyClass implements Serializable { private String field1; private
我目前正在(回来)加快使用 EJB 的速度,而当我离开时,它发生了巨大的变化(到目前为止更好)。但是,我遇到了一个我正在努力解决的概念,并且希望更好地理解它,因为它似乎在我们(我工作的地方,而不是我和
我有一个我需要手动设置 ID (PK) 的实体。 我有一些抽象的 @MappedSuperclass 用于审计和 PK,我仍然想使用它。所以我的想法是覆盖 id 列以摆脱 @GeneratedValu
我有 3 节课: @MappedSuperclass public class BaseEntity { @Id @GeneratedValue private Long id
设置:Hibernate 4.0 (JPA 2.0)、Java EE 6 我有以下问题:我有一个用 @Embeddable 注释的“HandAttributes”类,它包含很多 boolean 属性。
我有一个子类,它覆盖其父类(super class)的 getter(因为它添加了不同的行为)。我正在使用@AttributeOverride,但它也会引发错误org.hibernate.Mappin
谁能帮我设置正确的方法来覆盖扩展实体中的列名。 可嵌入: @Embedable Email @Column(name = "email_adress") private string email; 父
我有嵌入两个 ModelId 类的实体,其中一个是 EmbeddedId ,另一个引用另一个实体。 @Entity public class Report implements Serializabl
我有以下实体: public class MyEntity extends AuditableEntity { @Column private String name; } Audit
我有类 Money 这是一个@Embeddable @Embeddable public class Money implements Serializable, Comparable { @
我有 2 个 SQL 表: 用户: CREATE TABLE users ( id BIGINT PRIMARY KEY DEFAULT nextval('global_seq'),
我有一个名为 BaseTable 的 MapperSuperclass: @MappedSuperclass public abstract class BaseTable { @Column
除此之外,如果这样做是正确的模式,那么问题是在 Hibernate 中是否可以为给定的 @MappedSuperclass 将覆盖属性设置为 @Transient 或以任何“其他方式”忽略它? 给定的
来 self 的实体角色的代码 @Embedded @LazyCollection(LazyCollectionOption.FALSE) @CollectionOfElements
我使用的是 Hibernate 5.2.6 版。我有一个实例,我必须使用 @AttributeOverrides 注释来覆盖我之前与另一个实体一起使用的嵌入式列属性的名称。但它似乎没有用。 我得到了
@Entity class User { @EmbeddedId @AttributeOverride(name="firstName", column=@Column(name="fld_first
我是一名优秀的程序员,十分优秀!