现在有个查询问题,请教哈大家。希望能得到帮助:
假如A表(id,name)
B表(id,name,fk_c,fk_a)
C表(id,name)
A表中有B对象,B表中有C对象,现在要根据C的条件来查询A的集合。
请问这个实体该如何映射啊,噢是hibernate annoteration 注释的。
public class A{
private String id;
private String name;
@OneToMany(mappedBy="eachGroup",fetch=FetchType.EAGER,cascade={CascadeType.MERGE,CascadeType.PERSIST})
private List b;
}
public class B{
private String id;
private String name;
@ManyToOne
@JoinColumn(name = "fk_a")
private A a;
@ManyToOne
@JoinColumn(name = "fk_c")
private C c;
}
annoteration这样配置就可以了:
[code="java"]@Entity
@Table
public class A{
private String id;
private String name;
@OneToMany(targetEntity = A.class, mappedBy = "a")
private List b;
}
@Entity
@Table
public class B{
private String id;
private String name;
@ManyToOne
@JoinColumn(name = "fk_a")
private A a;
@ManyToOne
@JoinColumn(name = "fk_c")
private C c;
}
@Entity
@Table
public class C{
private String id;
@OneToMany(targetEntity = C.class, mappedBy = "c")
private List b;
}[/code]
晕,你杂不用XML文件来写呢?
里面可以设置级联属性的
JAVA ANNOTATION没研究过