anzn20 2008-10-28 11:51
浏览 195
已采纳

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查询出来"?
  • 写回答

2条回答 默认 最新

  • iteye_14081 2008-11-11 13:15
    关注

    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]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 MATLAB中streamslice问题
  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 51单片机中C语言怎么做到下面类似的功能的函数(相关搜索:c语言)
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端