我只是想知道传递关系(我不知道它是否可以被调用)是否可以使用注释在hibernate中持久化。 即,我有3个pojo类,即A,B和C. 我只是将C的实例映射到B和B的实例中。 当我保存A(session.save(A))时,我可以保持B和C持续吗?
例如:
a = new A();
b = new B();
c = new C();
b.setC(c);
a.setB(b)
then,
session.save(a);
如果以上行执行,我只想知道b和c是否会被持久化?
我想你们所有人都明白了我的意思。 否则,我可以更详细地阐述我的问题.. 请帮我.. 提前谢谢。
答案 0 :(得分:0)
是的,当持久存在时,你可以保持b和c持久化。这完全取决于您的映射,请查看JEE's CascadeType或Hibernate's @Cascade Annotation
答案 1 :(得分:0)
您可以定义要与当前对象一起保存的对象。在你的情况下
对于A 保存A时,请保存B对象。
public class A {
@ManyToOne(cascade={CascadeType.PERSIST})
B b;
}
对于B 保存B时,自动保存C对象
public class B {
@ManyToOne(cascade={CascadeType.PERSIST})
private C c;
}
对于C (无法随之保存)
public class C {
}