Hibernate 一对一关联映射,mappedBy参数解析

在最近java,SSH框架的学习中遇到了这样的一个问题,在Hibernate的开发中一对一关联映射的单向关联,主表会在次表新增一列次表的主键如下图,但是在双向关联中次表不会在表中创建主表的主键一列,这是为什么呢  ,原来是因为mappedBy参数的原因,在不给这个参数时次表会创建主表主键的一列,sql语句也会增多,而设置了这个参数时,次表不会创建主表主键的一列,sql语句也会少,在以后的项目中一定要设置这个参数,可能练习的项目数据量很小看不出差距,但是数据量一大mappedBy参数的作用就体现出来!(本人入门,欢迎大牛批评指教)

1.创建持久化类A,B

Hibernate 一对一关联映射,mappedBy参数解析

2.用JUnit测试

Hibernate 一对一关联映射,mappedBy参数解析

3.数据库,a数据库会增加一个字段(b数据库的主键)

Hibernate 一对一关联映射,mappedBy参数解析

 4.这是sql语句

Hibernate 一对一关联映射,mappedBy参数解析

 5.设置双向关联映射,有两种方式

第一种

Hibernate 一对一关联映射,mappedBy参数解析

 这是sql语句

Hibernate 一对一关联映射,mappedBy参数解析

表结构

Hibernate 一对一关联映射,mappedBy参数解析

第二种

 Hibernate 一对一关联映射,mappedBy参数解析

sql语句

Hibernate 一对一关联映射,mappedBy参数解析

 表结构

 Hibernate 一对一关联映射,mappedBy参数解析