我对所有这些 Hibernate/JPA 东西都很陌生,所以我会尽量清楚。
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):我开始认为这要么是 Hibernate 中的错误,要么是不可能做这样的事情......