iteye_17041
iteye_17041
2013-02-19 15:38
浏览 391
已采纳

hibernate 多对一 如何根据一的Id查出所有的多对象

[code="java"]
public class HrTrainType implements java.io.Serializable {
private Set hrTrainActivities = new HashSet();
}
[/code]

[code="java"]
public class HrTrainActivity implements java.io.Serializable {
private HrTrainType hrTrainType;

}

[/code]
我的hql是
[code="java"]
String hql = "from HrTrainActivity where HrTrainType= " + channelId;
[/code]
报错了。
改为
[code="java"]
String hql = "from HrTrainActivity where HrTrainType.id= " + channelId;
[/code]
也一样报错。hql是根据对象查询,第二条语句应该是错误的。

我知道了HrTrainType的id是3,怎么根据3查出HrTrainActivity 的外键channelId是3的全部数据呢?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • zuoshang
    zuoshang 2013-02-19 16:28
    已采纳

    感觉是这样的吧
    [code="java"]String hql = "from HrTrainActivity where hrTrainType.id= " + channelId; [/code]

    点赞 评论
  • iteye_7981
    iteye_7981 2013-02-19 17:45

    [code="java"]String hql = "from HrTrainType where id= 3";[/code] 查出HrTrainType 然后该对象的hrTrainActivities 列表里的所有HrTrainActivity 的外键,也就是HrTrainType主键 不就是3么

    点赞 评论
  • lqxv
    lqxv 2013-02-20 10:07

    [code="java"]String hql = "from HrTrainActivity hr where hr.hrTrainType.id= " + channelId; [/code]

    点赞 评论

相关推荐