我有一个包含组件的最后一个实例的实体:
@Entity
public class Customer {
...
@Embedded
public ServiceCall getLastServiceCall() {...}
...
}
@Embeddable
public class ServiceCall() {
public Date getDate();
public Status getStatus();
}
嵌入是ServiceCall
为了调用customer.getLastServiceCall().getDate()
而不需要另一个表连接。
我想建立一对多的关联,并开始保存所有ServiceCall
s,同时将一个嵌入客户中。
Hibernate 的文档(我正在使用的 v3.6)指出:
您还可以在可嵌入对象(即@OneToOne、@ManyToOne、@OneToMany 或@ManyToMany)中使用关联注释。要覆盖关联列,您可以使用@AssociationOverride。
看来我应该做的就是加入@OneToMany
协会LastServiceCall
。
这对我有用吗?如果没有,我的替代方案是什么?如果是,这将如何影响二级缓存,并且更新该嵌入式实例是否有限制(我可以使用不可变对象)?