【发布时间】:2011-06-15 08:28:42
【问题描述】:
我在存储这个简单的映射时遇到了一些问题:
@Entity
public class Account extends UUIDBase {
private Profile profile;
@OneToOne(cascade = CascadeType.ALL, optional = false)
public Profile getProfile() {
return profile;
}
public void setProfile(Profile profile) {
this.profile = profile;
}
}
@Entity
public class Profile extends UUIDBase {
...
}
我们的实体具有所有属性“creationDate”和“lastUpdated”。这些属性放置在映射的超类 UUIDBase 中。当实体被持久化或更新时,两个字段都将在 @PrePersist 和 @PreUpdate 回调中更新。除了在级联的情况下,这工作正常。
当我们存储 Account 时,Profile 也将始终被存储。账户的 creationDate 和 lastUpdated 属性将通过回调方法初始化。配置文件的回调方法将不会被调用。你有什么提示吗?
【问题讨论】:
-
我不知道为什么这对你不起作用。你能指定你正在使用哪个 jpa 实现吗?将标签 callback 替换为框架名称可能会有所帮助。
-
您好,我们使用 JPA 和 Eclipselink V2.2 实现。
-
我发现了一个类似的问题,但我不确定这是否属于我的问题以及如何解决问题。 stackoverflow.com/questions/1877499/…
标签: jpa eclipselink lifecycle cascade one-to-one