Java hibernate中的传递关系

Java hibernate中的传递关系,java,hibernate,Java,Hibernate,我只是想知道是否可以使用注释在hibernate中持久化传递关系(我不知道是否可以这样调用它)。 我有3个pojo课程,分别是A、B和C。 我只是把C的实例映射到B,把B的实例映射到A。 当我保存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是否会被持久化 我想

我只是想知道是否可以使用注释在hibernate中持久化传递关系(我不知道是否可以这样调用它)。 我有3个pojo课程,分别是A、B和C。 我只是把C的实例映射到B,把B的实例映射到A。 当我保存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是否会被持久化

我想你们都明白我的意思了。 否则,我可以更详细地阐述我的问题。。 请帮帮我。。
提前感谢。

是的,当a被持久化时,也可以持久化b和c。这完全取决于您的映射、查看或定义要与当前对象一起保存的对象。就你而言

对于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;
}
public class C {

}
用于C(无需随附任何内容)


此类操作称为级联操作感谢您的宝贵意见。。。。但我只是想知道b和c是否会自动持久化?我认为叶栅可以在一个水平流动,即从a到b或b到c…对吗?这里我要坚持a,b和c。。。。在hibernate中可能吗?您必须在两个级别上都添加级联。我同意。但是,如果A的一个对象(比如“A”)将被持久化,那么b和c会自动持久化吗?是的,它会。这就是CascadeType.PERSIST的全部目的