本文只研究@ManyToOne和@OneToMany的用法,想要学习@ManyToMany的可以点进来,查看我的另一篇文章
代码中使用的是Ebean 11:
io.ebean
ebean
11.39.1
不同版本的Ebean使用略有差异。
电商项目中我们经常会维护订单表和订单明细表的关系,这也是最典型的OneToMany和ManyToOne关系。那么在项目的具体模块中我们经常会碰到以下场景:
1、查看订单信息的时候需要列出订单明细列表
2、查看订单明细的时候需要列出订单信息
这时候就需要在订单中维护订单明细信息,也就是使用OneToMany;在订单明细中维护订单信息,也就是使用ManyToOne;
先看下我在数据库插入的测试数据(一个订单对应两条明细):
订单表(一条):
文章图片
订单明细表(两条):
文章图片
订单model:
文章图片
上代码:
//下面这行注解需要加在类上
@JsonIdentityInfo(generator = ObjectIdGenerators.IntSequenceGenerator.class,property = "@id")@OneToMany(mappedBy = "order",cascade = {CascadeType.PERSIST, CascadeType.MERGE},fetch = FetchType.LAZY)
订单明细model:
文章图片
上代码:
@ManyToOne
@JoinColumn(name = "order_id")
接口:
文章图片
【Ebean中@ManyToOne和@OneToMany双向映射】注意:截图中标红的地方都很重要,漏掉会有各种错误!!!