gpt4 book ai didi

hibernate - 如何在 HIbernate HQL 中选择对象的类?

转载 作者:行者123 更新时间:2023-12-04 04:07:55 25 4
gpt4 key购买 nike

如何在 HQL 中选择对象的类?当我执行以下操作时:

select e.class, e.name from Entity e

Hibernate 返回一个整数(例如 [12, "name"])而不是一个类对象。如何返回 Java 类,或者至少返回类或实体名称?或者,如果这是不可能的,我如何将 12 转换为 Java 类?

出于性能原因,我不能查询完整的对象,即我不能做
select e from Entity

问候,
约亨

最佳答案

如果你是 hibernate4,你可以使用 HQL 函数 'type()' 来获取实体类型

select type(e), e.name from Entity e

如果您是 hibernate3,则 session.iterate() 将实体作为 HibernateProxy 返回,仅带有 id,您无需初始化即可从中获取实体名称和 id。
Iterator iterator = session.createQuery("from Entity e").iterate();
while(iterator.hasNext()) {
HibernateProxy object = (HibernateProxy)iterator.next();
System.out.println(object.getHibernateLazyInitializer().getIdentifier());
System.out.println(object.getHibernateLazyInitializer().getEntityName());
}

关于hibernate - 如何在 HIbernate HQL 中选择对象的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9631151/

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