0
遷移到JPA在我們的遺留Hibernate相關的代碼,我轉換爲JPA後使用變壓器的能力,我們曾與變壓器一個直接基於SQL的查詢。忘記從休眠
// 1. Create Hibernate Query object
org.hibernate.Query query = sessionFactory.getCurrentSession().createQuery(sql.toString());
// 2. Run a transformer
query.setResultTransformer(Transformers.aliasToBean(User.class));
// 3. Obtain Result List
List results = query.list();
但現在,我已經轉換這JPA(這仍然是使用直接SQL),我不能再使用Transformer一步,因爲JPA語法不支持它。
如果我省略了變壓器一步,我得到一個大小寫錯誤如下關於我的領域之一,
org.hibernate.QueryException: could not resolve property: ID of: USER_T
at org.hibernate.persister.entity.AbstractPropertyMapping.propertyException(AbstractPropertyMapping.java:62)
at org.hibernate.persister.entity.AbstractPropertyMapping.toType(AbstractPropertyMapping.java:56)
at org.hibernate.persister.entity.AbstractEntityPersister.toType(AbstractEntityPersister.java:1859)
因爲我UserT對象有命名爲id
(小寫)領域。我的猜測是Transformer在這裏是必需的,但是我不能在新的JPA語法中使用它。