2012-11-14 127 views
0

我只需要一個HQL(no Criteria)中的簡單示例,其中有兩個表需要在「int」類型的列上使用左外連接進行連接。我在後端有Sybase。Hibernate使用HQL連接

我已經看了很多地方(甚至在本網站上),包括the documentation,但沒有發現它們對於初次使用者來說太有用。

考慮我將表'第一'和表'第二'連接列'empID'爲'int'。如何使用命名查詢將第一個外部聯接與第二個聯繫起來。 另請指定是否需要對第一類和第二類的hbm文件進行任何其他映射更改。我相信這將有助於簡化大量Hibernate新手的連接。

編輯:

EMPID是一個值,它是在表首先肯定存在,並且可以或可以不存在於表二。它只是指一名員工。

+0

'First'和'Second'之間是否存在關係?或者他們恰好同時引用了員工? – Firo

+0

剛剛添加了編輯。 – Leo

回答

1

這是不可能的。只有在兩個實體之間存在關聯時纔可以進行連接。

你可能可以做你想做的,如果你有:

  • 到員工
  • 從僱員一位一對多或OneToOne相關聯的多對一或首先OneToOne協會第二

在這種情況下,查詢看起來像

select first from First first 
inner join fetch first.employee employee 
left join fetch employee.second(s) second 
where ... 
0
select ... from First as f, Second as s where f.employee.Id = s.employee.Id