gpt4 book ai didi

java - 如何避免创建多余的实体?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:53:55 24 4
gpt4 key购买 nike

在我当前的项目中,我需要执行一些 native 查询,这些查询从连接到查询中的表中选取一些字段,例如:

SELECT t1.col1, t2.col5
FROM t1
JOIN t2 ON t2.id = t1.t2_id

我试图将它们存储在类似

的类中
class Result {
String t1_col1;
String t2_col5;
}

使用

Query q = entityManager.createNativeQuery( "THE SQL SELECT" , Result.class );

JPA 现在提示(“未知实体:结果”)类“结果”不是可能需要将列映射到对象的实体。我还尝试在结果类中重复 @Column 声明。

我的问题是,如何在不必在我的数据库中创建表示为表的实体的情况下声明它?

最佳答案

唉,我在 JPA 中看不到这样做的方法。但是,您可以使用 hibernate Query 对象来完成此操作。获取它使用:

org.hibernate.Query query = q.unwrap(org.hibernate.Query.class);

然后设置一个结果转换器。 See here :

query.setResultTransformer(Transformers.aliasToBean(Result.class));

关于java - 如何避免创建多余的实体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7927604/

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