我有两种类型:资源和用户,它们之间具有一对一的关系。
@Entity
@Table( name = "RESOURCE" )
public class Resource
{
//...somecode...
@OneToOne( fetch = FetchType.LAZY )
private User user;
}
@Entity
@Table( name = "USERS" )
public class User
{
@Id
@GeneratedValue( generator = "USER_ID_SEQ" )
@GenericGenerator( name = "USER_ID_SEQ", strategy = "sequence", parameters = @Parameter( name = "sequence", value = "SEQ_USER_ID" ) )
@Column( name = "USER_ID" )
private long id;
//...somecode...
@OneToOne( mappedBy = "user", cascade = CascadeType.ALL )
private Resource resource;
}
当我使用用户设置创建资源对象时,一切都是正确的。创建具有正确用户的资源。
但是当我尝试使用资源集创建用户时,数据库上的用户资源不会更新。
有人可以帮助我吗?我做错了什么?
最佳答案
需要在实体双方设置关联:
Resource resource = ...exiting resource...
User user = new User();
user.setResource(resource);
resource.setUser(user);
关于java - 无法保存 OneToOne 关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43630354/