Ich schreibe Klasse, Daten mit Hibernate Abfrage abzurufen. wenn ich Session von EntityManagerFederdaten, die ich Hibernate Abfrage verwenden möchte
Session session=null;
sessionFactory=entityManager.unwrap(SessionFactory.class);
session=(Session) sessionFactory.getCurrentSession();
oder
Session session = (Session) entityManager.getDelegate();
und Sitzungs agin mit werfen fragen die Sitzung in 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;
}
}
es immer Fehler wie,
java.lang.IllegalArgumentException: Parameter value [1] did not match expected type [java.lang.Long (n/a)]
ob Irgendwelche wissen, wie man Hibernate Query im Frühjahr Daten jpa verwenden Sie mir bitte
Sie haben eine Abfrage, die perfekt ausdrückbar ist mit JPQL so keine Notwendigkeit, „Hibernate API“ verwenden –