hibernateクエリを使用してデータをフェッチするクラスを作成します。私はそれがスプリングデータhibernateクエリを使用したい
java.lang.IllegalArgumentException: Parameter value [1] did not match expected type [java.lang.Long (n/a)]
、のようなエラーを取得するEntityManager
にpublic class BranchCustomRepositoryImpl implements BranchCustomRepository{
@PersistenceContext
private EntityManager entityManager;
private SessionFactory sessionFactory;
public Branch findByOrgOrgIdAndBranchId(String orgId, String branchId) {
//Session session=null;
//sessionFactory=entityManager.unwrap(SessionFactory.class);
//session=(Session) sessionFactory.getCurrentSession();
Session session = (Session) entityManager.getDelegate();
System.out.println("BranchCustomRepositoryImpl");
Long orgId2=Long.valueOf(orgId);
Long branchId2=Long.valueOf(branchId);
try{
Query query= (Query)((EntityManager) session).createQuery("from Branch b where b.org.orgId=:orgId AND b.branchId=:branchId");
query.setParameter("orgId", orgId2);
query.setParameter("branchId", branchId2);
return (Branch) query.uniqueResult();
}catch(Exception e){
System.out.println("Exception"+e.toString());
}finally{
try {
if(session!=null){
session.close();
System.out.println("session closed");
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return null;
}
}
をセッションをキャスト尋ねる
Session session=null;
sessionFactory=entityManager.unwrap(SessionFactory.class);
session=(Session) sessionFactory.getCurrentSession();
または
Session session = (Session) entityManager.getDelegate();
とセッションaginを使用してのEntityManagerからのセッションを取得するときifどのように春データjpaでハイバネートクエリを使用する方法を知っています
以下のように変更し、それを
以下のようにあなたの現在の行であなたはとても「APIを休止状態」を使用する必要がJPQLを使用していない完全に発現可能であるクエリを持って –