0
私はJPA CriteriaBuilderのマップされていないテーブルを参照できますか?
public abstract class HibernateEntitySelector<T> extends HibernateDAOSupport implements EntitySelector<T> {
@Autowired
public void init(SessionFactory factory) {
setSessionFactory(factory);
}
public String SELECT_IDS = " IN (SELECT RESULT_ID FROM QUERY_RESULTS)";
public List<T> getEntitiesByIds(){
DetachedCriteria criteria = DetachedCriteria.forClass(getEntityClass());
criteria.add(Restrictions.sqlRestriction(getPrimaryKeyField()+SELECT_IDS));
return (List<T>) this.getHibernateTemplate().findByCriteria(criteria);
}
..エンティティマネージャを使用して、次のクエリを記述し直すためにこのような何か...
public abstract class HibernateEntitySelector<T> implements EntitySelector<T> {
public String SELECT_IDS = " IN (SELECT RESULT_ID FROM QUERY_RESULTS)";
@PersistenceContext
protected EntityManager em;
public List<T> getEntitiesByIds(){
String s = "FROM " + getEntityClass().getSimpleName() + " ent WHERE ent."+getEntityId()+SELECT_IDS;
Query query = this.em.createNamedQuery(s);
return (List<T>)query.getResultList();
}
}
をしようとしています。しかし、これは原因QUERY_RESULTS
マップされていないために失敗しました。 createNativeQuery
メソッドを使用せずにすべての列を手動でマップする必要がない方法はありますか?
これはうまくいきました。私はこれを受け入れられた解決策としてマークする方法を知らない。 :) OKそれを見つけた。 doh – user2554194
素晴らしい!それがうれしかった –