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的新手,我不知道将使用哪种方法。连接表,主键连接或任何其他。请帮忙。

4

1 回答 1

1

看你的表,看来一个公司可以有很多员工,而一个员工只能为一个公司工作。我看到您的员工表中有一个 company_id 外键。您没有连接表。

所以你需要设置你的对象来反映这个数据库结构。创建一个公司类和一个员工类。还给公司一个 Set<Employee> 字段。

然后使用从公司到员工的基本双向一对多关系设置 Hibernate。

Hibernate 将为您处理生成 SQL(仅供参考,它默认使用交叉连接来处理一对多和多对一关系,尽管您可以将其设置为生成串行选择,而不是根据需要)。

除非您有多对多的 Company-to-Employee 关系(在这种情况下,您不希望员工中有 company_id 外键),否则您不会想要连接表。

于 2013-08-07T08:15:54.537 回答