gpt4 book ai didi

hibernate - 如何在 hibernate 标准中订购 oneToMany 连接表

转载 作者:行者123 更新时间:2023-12-03 07:48:13 27 4
gpt4 key购买 nike

假设我有一个 Mother 类,其中有一个到 Kittens 的 oneToMany 映射

@Entity
@org.hibernate.annotations.Entity(dynamicUpdate = true)
@Table(name = "Mother")

.....

@OneToMany(fetch = FetchType.LAZY, targetEntity=Kittens.class, cascade=CascadeType.ALL)
@JoinColumn(name="motherId")
private List<Kittens> kittens;

我正在使用标准 Api 来提供列表

Criteria criteria = this.getSession().createCriteria(Mother.class);
Criterion MotherType = Restrictions.eq("type", "domesticated");
criteria.add(MotherType)
.addOrder(Order.asc("motherName"))
.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)
.setFetchMode("kittens", FetchMode.JOIN)
// .addOrder(Order.asc("kittens.kittenName"));
List test = criteria.list();

工作正常,直到我尝试添加小猫字段 kittenName 的顺序

我还尝试在 Kitten @OneToMany(...etc ) 下添加 @OrderBy(value="kittenName") 注释,该注释可以正常工作,直到您使用条件 API 并且此顺序将先于中的任何其他顺序语句sql。

提前为任何帮助干杯......

最佳答案

您需要添加 @javax.persistence.OrderBy为您的小猫列表添加注释。

@OneToMany(fetch = FetchType.LAZY,
targetEntity=Kittens.class,
cascade=CascadeType.ALL)
@JoinColumn(name="motherId")
@OrderBy("kittenName")
private List<Kittens> kittens;

@查看

关于hibernate - 如何在 hibernate 标准中订购 oneToMany 连接表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5560035/

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