Hibernate 一个类对应多个表

2024-12-03 21:32:38
推荐回答(3个)
回答1:

你这就没有配置对应关系。

而且你的实体类直接用  name ,birthday更是不对。他们是两张表,需要通过实体类

 

看看下图分析下:

第一张表(实体类)

第二张表(实体类)

可以很明显看到 HrOrgOne 和 HrOrgTwo 属于一对多关系

那么第一个实体类的配置将为多得一方:

其中使用  lazy 属性,lazy 代表是否延迟加载此属性。

第二个实体类的配置为:

其中 抓取策略,fetch 就使用select就行

 

配置完后,如果想要通过 第二个实体类,访问旳一个的时候

HrOrgTwo teo = new HrOrgTwo();

teo.hrOrgTwoId();   这些 基本类型或引用类型等直接访问

teo.hrOrgOne.hrOrgOneName();    如果是实体类,必须'点'出来属性

如果数据封装过后

teo.getHrOrgTwoId();

teo.getHrOrgOne.getHrOrgOneName();

 

当然,如果在查询第二个类的时候,如果前面所说的lazy 设置为true  将取不到值。

这个映射关系,可以直接通过Hibernate 映射成xml文件。不过前提是你懂那些一对多,多对一,多对多的关系。

希望对你有帮助~

回答2:

根本就没有对应起来关系的啊,many-to-one对应的都是实体

回答3:

怎么没有 USER_PROFILE 的实体类和映射呢?