gpt4 book ai didi

java - Hibernate 映射与 group by 子句?

转载 作者:行者123 更新时间:2023-12-01 13:11:37 25 4
gpt4 key购买 nike

我在 pojo 中有 @OneToMany 映射,我需要按列对结果列表进行分组。我有一个如下所示的映射;

@OneToMany(fetch = FetchType.EAGER)
@JoinColumn(name = "X", referencedColumnName = "X", insertable = false, updatable = false)
@NotFound(action = NotFoundAction.IGNORE)
@Fetch(FetchMode.SELECT)
public Set<MyType> getSiblings() {
return siblings;
}

我需要向此映射添加 GROUP BY 子句,这可能吗?

最佳答案

我认为您正在寻找的是对映射到多重映射的支持,这是一个具有一个键的映射,值是所有与同一键关联的值的列表。

Hibernate 不支持此功能,这是 thread在他们的论坛中尝试实现它。

另一种方法是仍然在属性级别映射到 Set,然后提供一个 getter 来动态进行分组。这对于消费者来说是透明的,并且只会成为非常大的数据集的问题:

@OneToMany(fetch = FetchType.EAGER)
@JoinColumn(name = "X", referencedColumnName = "X", insertable = false, updatable = false)
@NotFound(action = NotFoundAction.IGNORE)
@Fetch(FetchMode.SELECT)
private Set<MyType> siblings;

public Map<String,List<MyType>> getSiblings() {
... do the grouping manually in Java ...
}

关于java - Hibernate 映射与 group by 子句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22815010/

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