加入Hibernate及其使用

时间:2015-03-03 21:06:52

标签: java hibernate

什么是HQL中的连接以及它应该在何处使用?

已完成教程。其中三个使用如下:

Inner Join
Left Outer Join
Right Outer Join

阅读一些但无法理解的教程。

1 个答案:

答案 0 :(得分:1)

加入HQL与SQL joins相同。在SQL中,join用于连接两个表以返回匹配的数据。在HQL中,连接在父实体和子实体之间(通常在父主键的F​​oreignKey上)。

人员表

person_id | name | dob 

地址表

address_id | address_line1 | state | zip | person_id

SQL Join看起来像

Select * from person p join address a on p.person_id = a.person_id and p.person_id = 10

如果一个人有多个地址,这将返回如下数据

person_id | name | dob | address_id  | address_line1 | state | zip   
----------------------------------------------------------------------
10          Jack  10/25  22            223 elk blvd    AZ      54444
10          Jack  10/25  244            223 NY blvd     TX      54344

HQL联接看起来像

from Person p join p.address

并返回Person个实体,其中包含addresses列表。

Person{
    List address = [ Address{ (this is Object)  }, Address{(This is object)}]

}