hibernate左外连查询

来源:百度知道 编辑:UC知道 时间:2024/06/08 06:14:48
1,左外连是否需要2表必须建立关系,如果那样的话,我用普通的查询就能把被引用的数据查到Set里了,我直接取不就可以了吗,还要外连查做什么?
2,我建了2个表,如下:
t_user notice
*id *nid
username title
userpwd content
tid
这里的tid并没有引用user表的id,但它确实是记录人员id的.我的查询语句如下:
"select u,n.title from TUser u left outer join Notice n where u.id = n.tid and u.id = " + Uid;
报的:Path expected for join!异常 这里的右表必须要写完整路径吗?
于是加上完整路径:
"select u,n.title from TUser u left outer join com.department.srmpart.domain.Notice n where u.id = n.tid and u.id = " + Uid;
报java.lang.NullPointerException
不明白他的空指针指的是什么?
3.我把notice的tid作为外键引用了user表的id但还是抱空指针,请问该如何写左外连接.
谢谢

你要用left outer join的话确实是要2表必须建立关系的。至于为什么要用left join是应为不用的话,为空的记录会不显示。我刚试过,你也可以试试。

你既然用了hibernate,如果两张表有关系,在hibernate的映射文件中配置好了
还需要用左连接吗?查询一个表会把另一个表相关联的数据也会查出来的啊
在实体类映射配置一下就行啦

<many-to-one name="employee" column="employee_id"
class="com.mmis.domain.user.Employee"/>