Hibernate 모호 한 조회 실현 방법

1949 단어 sqlHibernate
다 들 아시 다시 피 로 컬 SQL 로 퍼 지 검색 을 하 는데 키워드 LIKE 는 Hibernate 에서 어떻게 이 루어 질 까요?
 
1.귀속 매개 변수 법:
 
Session session=HibernateUtil.getSessionFactory
().getCurrentSession(); 

session.beginTransaction();

String strSQL="from Classes as a where a.classno like :name";

Query query = session.createQuery(strSQL);
       
query.setString("name", "%"+OId+"%");
       
List result=query.list();

 2.대상 을 대상 으로 하 는 검색 언어 HQL 에서
 
Session session = HibernateUtil.getSessionFactory().getCurrentSession(); 
   
session.beginTransaction();

List result=session.createQuery("from Classes as a where a.classno 

like " '%"+OId+"%'").list();

 
3.모호 조회 파라미터 화
 
Session session=HibernateUtil.getSessionFactory().getCurrentSession();

session.beginTransaction();

List result=session.createQuery("from Classes as a where a.classno  

like :name").setParameter("pid",OId).list();

 
 
Hibernate 모호 조회 매개 변수 화 문제
 
from Project o where 1=1 and o.isDeleted=? and o.prjName like ?; query.setString(i,"%"+실제 조회 조건+"%");매개 변수 중 첫 번 째 백분 번호 의 왼쪽 과 두 번 째 백분 번호 의 오른쪽 에는 작은 따옴표 가 없습니다.이것 은 평소에 SQL 문 구 를 쓰 는 것 과 다 르 므 로 특히 관심 을 가 져 야 합 니 다.그리고 두 가지 차이 점 도 알 아야 돼 요.
HQL:from Project o where 1=1 and PRJ_NAME like '%strCond%';//여기 PRJNAME 는 데이터베이스 시트 의 실제 필드 이름 일 것 입 니 다.
HQL:from Project o where 1=1 and o.PRJ_NAME like '%strCond%';//여기 PRJNAME 는 실체 클래스 의 속성 명 일 것 입 니 다.
HQL:from Project o where 1=1 and PRJ_NAME like '?';//여기?자리 차지 인자 로 보지 않 음 HQL:from Project o where 1=1 and PRJNAME like ?;//매개 변수 값 을 설정 할 때 자동 으로 매개 변수 값 양쪽 에 작은 따옴표 를 추가 합 니 다.

좋은 웹페이지 즐겨찾기