我是所有这些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中的一个错误,或者不可能做这样的事情......