首页 > 学院 > 开发设计 > 正文

HQL语句多表联合查询,Mysql不设置外键关系

2019-11-06 07:25:12
字体:
来源:转载
供稿:网友

如有表A,表B,表C

A表包含B表的key,A表包含C表的key。如果我们想用HQL语句查询A表时带出A表所有属性和B表的所有属性和C表的所有属性,HQL语句可按一下方法写。

@NamedQuery(name="getOrderByUserid",query="From A a,B b,C c where a.user_id=b.user_id and a.constantly_id=c.constantly_id and a.user_name=?")

在A表的属性下

PRivate String user_id;

private String constantly_id;

-------------------------------------------愤怒的分割线------------------------------------------------------------------------------------------------------------------------------

之前曾打算用表对象关系查询出所有属性,出现了只能查询到A表的属性,不能查询到B,C表的属性的情况。而且查询出来的A表的user_id是a.user_id_user_id

由于A表不存在user_id_user_id列所以出现了异常。

尝试的方法如下

@NamedQuery(name="getOrderByUserid",query="From A a where a.user_id.user_name=?")

在A表的属性下

private Userinfo user_id;

private Constantly constantly_id;

查询HQL生成的SQL语句只包含A表的属性,而且user_id和constantly_id两列是 a.constantly_id_constantly_id 和a.user_id_user_id这2列错误列,

如果我第一个方法帮助了其他人,我很高兴!如果有人能解决我第二个问题,还请指教,感激不尽!!


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表