关于使用JPA的@ManyToOne注解的方法及踩过的雷

2 篇文章 0 订阅

 

举个例子:

    有两张表,员工表(employee)和部门表(department)。这个时候,员工对于部门来说,属于ManyToOne的一个关系,即多个员工对应一个部门。当我们创建表结构时,应在多的一方去维护表关系,也就是说,应将@ManyToOne注解加在员工表中,并且设置为懒加载。

 

员工表:

    

fetch = FetchType.Lazy 懒加载,作用是用到该属性的时候,才会将该属性加载到内存。加载employee对象时,并不会去立即加载dept属性。如果不设置,缺省为eager,急加载。

 

部门表:

 

    

踩过的雷:

采用自动建表,如上两张表创建后,并没有创建出外键关系。

原因:使用mysql数据库+Hibernate自动建表时,将引擎类型创建成了MyISAM类型。目前Mysql只有InooDB类型的引擎支持外键约束。

 

 

 

 

 

 

 

    

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值