相关疑难解决方法(0)

Hibernate - createNativeQuery带有"非实体类"结果

我是所有这些Hibernate/JPA的新手,所以我会尽量清楚.

在Hibernate中有没有办法使用createNativeQuery在查询中选择单个/或多个字段而不使用Entity类作为返回对象?

我试图这样做而不使用任何与XML相关的东西.

Query query = getEntityManager().createNativeQuery("select name from contact where id_contact = :idContact", String.class);
query.setParameter("idContact", 9293L);
Object string = query.getSingleResult();
System.out.println(string);
Run Code Online (Sandbox Code Playgroud)

使用这个我有例外: Exception in thread "main" javax.persistence.PersistenceException: org.hibernate.MappingException: Unknown entity: java.lang.String

谢谢

编辑:

我也尝试过:

Query query = getEntityManager().createNativeQuery("select name from contact where id_contact = :idContact");
query.setParameter("idContact", 9293L);
List list = query.getResultList();
if (!list.isEmpty()){ 
    Object string = list.get(0);
    System.out.println(string);
}
Run Code Online (Sandbox Code Playgroud)

具有相同的例外: Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to [Ljava.lang.Object;

编辑(2):我开始认为它是Hibernate中的一个错误,或者不可能做这样的事情......

java hibernate jpa

5
推荐指数
3
解决办法
5万
查看次数

标签 统计

hibernate ×1

java ×1

jpa ×1