我有一个实体User
和一个实体UserPage
用户创建他时没有UserPage
现在我想创建一个用户页面并将其分配给用户。这看起来像这样:
UserPage page= new UserPage([Attributes here]);
User user; (this is a User previously created, persisted and now fetched)
现在我执行以下操作:
user.setUserPage(page);
userPageEJB.persist(page);
现在当我想要获取用户的userPage时,我这样做:
User user= userEJB.getUserByID([userID here]);
UserPage page= user.getUserPage();
现在的问题是,更改似乎没有保存(最后一行代码总是返回null)。如何保存它们以便我可以获取特定用户的页面?
答案 0 :(得分:0)
如果User和UserPage具有父子关系,请使用CascadeType映射。使用此映射,JPA会将对实体状态的更改转换为相应的DML语句:
class User{
@OneToOne(mappedBy = "user",
cascade = CascadeType.PERSIST)
private UserPage userPage;
....
}
答案 1 :(得分:0)