我是新来的所有这个Hibernate/JPA的东西,所以我会尽量做到尽可能清晰。休眠 - createNativeQuery与“非实体类”结果
Hibernate中有没有什么方法可以使用createNativeQuery在查询中选择一个或多个字段,而无需使用实体类作为返回对象?
我试图做到这一点,而不使用任何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);
使用这个我有例外: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);
}
以同样的异常:Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to [Ljava.lang.Object;
编辑(2): 我开始认为这是无论是在休眠错误或这是不可能做这样的事情......
相同抛出异常:异常在线程 “主要” java.lang.ClassCastException:java.lang中。字符串不能转换为[Ljava.lang.Object; – Joshua