gpt4 book ai didi

java - JPA中使用中间表列进行排序

转载 作者:行者123 更新时间:2023-12-01 10:08:58 24 4
gpt4 key购买 nike

我有类产品(对应于产品表)

Class Product {
@Id
@Column(name = "PRODUCT_ID")
private Long id;

@Column(name = "NAME")
private String name;

//other attributes
}

我有另一个类(class)所有者(对应于OWNER表)

Class Owner{
@Id
@Column(name = "OWNER_ID")
private Long id;

@Column(name = "NAME")
private String name;
}

我有一个名为 PRODUCT_OWNER 的中间表(一个产品可以有多个所有者)。

PRODUCT_OWNER 表是这样的。

 _______________________________________
| PRODUCT_ID | OWNER_ID | DISPLAY_ORDER |
|____________|__________|_______________|

在我的 Product 类中,我编写了一个连接语句来使用中间 PRODUCT_OWNER 表执行连接

@OneToMany(targetEntity = Owner.class, cascade = { CascadeType.ALL, CascadeType.MERGE }, fetch = FetchType.LAZY)
@JoinTable(name = "PRODUCT_OWNER",
joinColumns = { @JoinColumn(name = "PRODUCT_ID") },
inverseJoinColumns = { @JoinColumn(name = "OWNER_ID") })
private Set<Owner> productOwners = new HashSet<Owner>(0);

我的中间表中有一个列为 DISPLAY_ORDER。我想使用 DISPLAY_ORDER 对最终的 productOwners 集进行排序。在上述方法中这可能吗?请指教。

最佳答案

您好,您可以尝试将其添加到您的 JoinTable

@OneToMany(targetEntity = Owner.class, cascade = { CascadeType.ALL, CascadeType.MERGE }, fetch = FetchType.LAZY)
@JoinTable(name = "PRODUCT_OWNER",
joinColumns = { @JoinColumn(name = "PRODUCT_ID") },
inverseJoinColumns = { @JoinColumn(name = "OWNER_ID") })
@OrderColumn(name="DISPLAY_ORDER")
private List<Owner> productOwners = new HashSet<Owner>(0);

关于java - JPA中使用中间表列进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36279623/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com