我们有一些对象可能具有与数百个或数千个地址的ManyToMany关系,并且正在寻找一种使用Spring在我们的数据库中高效建模的方法。现在,我们有这样的事情:
DB表:
优惠券:
couponId ... 地址:
addressId address city ... coupon_address:
businessId addressId 实体:
Coupon.java
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long couponId;
...
@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name="coupon_address", joinColumns = {
@JoinColumn(name="couponId") }, inverseJoinColumns={
@JoinColumn(name="addressId") })
private Collection<Address> addresses; Address.java
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long addressId;
... 我们有一个存储过程,它将返回最近的地址,这很好。
问题:
我不知道如何处理第一个问题,也不确定第二个问题是否足够。大多数情况下,我们不必担心每张优惠券都有大量的地址,但潜力确实存在。
谢谢。
发布于 2017-04-02 16:03:14
addresses是优惠券地址的集合。不是用来加载优惠券的查询找到的地址。如果需要优惠券地址的子集,则执行选择地址的查询。不是选择优惠券的查询。https://stackoverflow.com/questions/43160413
复制相似问题