假设以下情况:
@Entity
...
public class A {
@Id
@Column(name="ID")
...
private Long id;
@Column(name="TEXT", length=120)
private String text;
@ManyToOne
@JoinColumn(name="B_ID")
private B b;
...
}
@Entity
...
public class B {
@Id
@Column(name="ID")
...
private Long id;
@Column(name="TEXT", length=120)
private String text;
...
}
假设我想要将A实体与数据库中的现有B实体相关联:
如何在不持久化实体B的情况下坚持实体A?我的意思是,我想要保留A中的所有字段,但只保留A表中的B id,而不是B表中B的文本。
答案 0 :(得分:1)
您会获得对现有B的引用(使用em.getReference()
或em.find()
),并将A.b
设置为此引用。然后你坚持A。