2013-08-07 148 views
1

我有兩個這樣的表。休眠映射使用註釋

Company 
     company_id int(11) not null auto_increment primary key, 
     name varchar(200) not null 

Employee 
     employee_id int(11) not null auto_increment primary key, 
     company_id int(11) not null, 
     employee_name varchar(50) not null, 
     foreign key(company_id) references Company(company_id) on updade cascade on delete cascade 

現在我要訪問員工信息以及僅用

from Employee 

使用Hibernate的公司信息。我是新的休眠我不知道哪種方法將被使用。連接表,主鍵連接或其他。請幫忙。

回答

1

看看你的表格,看起來公司可以有很多員工,員工只能爲一家公司工作。我看到你的員工表中有一個company_id外鍵。您沒有連接表。

所以你需要設置你的對象來反映這個數據庫結構。創建一個公司類和一個Employee類。同時給公司一套<員工>領域。

然後使用公司與員工之間基本的雙向一對多關係設置Hibernate。 Hibernate會爲你生成SQL(FYI它默認使用交叉連接來實現一對多和多對一的關係,儘管你可以設置它來產生串行選擇,而不是你想要的)。

除非您有多對多的公司 - 員工關係(在這種情況下,您不希望員工使用company_id外鍵),否則不需要連接表。