如有表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列错误列,
如果我第一个方法帮助了其他人,我很高兴!如果有人能解决我第二个问题,还请指教,感激不尽!!