gpt4 book ai didi

java - 如何将查询映射到非实体类+实体类

转载 作者:行者123 更新时间:2023-12-02 08:23:45 27 4
gpt4 key购买 nike

我知道如何在 IBatis 中进行查询到 resultClass 映射。

如何将 native 查询结果映射到 hibernate 中实体类和标量混合的对象?如何设置参数?

请帮忙。

最佳答案

使用 Hibernate Session API,您可以通过调用 addEntity()addScalar() 方法来实现:

Query q = s.createSQLQuery(
"select p.*, count(e.id) as c " +
"from Project p left join Employee e on p.id = e.project_id " +
"group by p.id")
.addEntity(Project.class).addScalar("c");

在 JPA 中,您可以使用 @SqlResultSetMapping 来实现:

@SqlResultSetMappings(
@SqlResultSetMapping(name = "projectWithCount"
entities = @EntityResult(entityClass = Project.class),
columns = @ColumnResult(name = "c")))

...

Query q = s.createSQLQuery(
"...", "projectWithCount")

关于java - 如何将查询映射到非实体类+实体类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4957166/

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