我只需要一个简单的HQL示例(无条件),其中我有两个表需要在类型为'int'的列上与左外连接连接。我在后端有Sybase。
我已经查看了很多地方(甚至在这个网站上)并且包括the documentation但是没有发现它们对初次使用者来说太有用了。
考虑我将表'First'和表'Second'与连接列'empID'作为'int'。如何使用命名查询将第二个外部联接保留为第一个。 还请指定是否需要对First和Second类的hbm文件进行任何其他映射更改。我相信它将有助于简化许多Hibernate新手的连接。
编辑:
empID是一个绝对存在于表First中的值,可能会也可能不会出现在表Second中。它只是指一名员工。
答案 0 :(得分:1)
这是不可能的。只有在两个实体之间存在关联时才可以进行连接。
如果你有这样的话,你可以做你想做的事情:
在这种情况下,查询看起来像
select first from First first
inner join fetch first.employee employee
left join fetch employee.second(s) second
where ...
答案 1 :(得分:0)
select ... from First as f, Second as s where f.employee.Id = s.employee.Id