Hibernate 级联问题

现在有个查询问题,请教哈大家。希望能得到帮助:

假如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;
}


SQL:"如何根据B对象中的C条件把集合A查询出来"?

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没研究过