2016-11-07 7 views
0
session = sessionFactory.openSession();   
Transaction tx = session.beginTransaction(); 
String hql ="from CustomObjectId where CONTAINS(fileName,fileName)"; 
Query query = session.createQuery(hql); 
query.setParameter("fileName", fileName); 
List file=query.list(); 
tx.commit(); 

CONTAINSを検索するにはどうすればよいですか?HibernateでContainsを使用する方法

+0

CustomObjectIdがテーブルname.fileNameでは –

+0

ファイル名は –

+0

Sakthiをチェックする必要が含まれている列である列名です::あなたのクエリを投稿することができますか?どのように削除され、私は歴史を見ることができなかった。 – developer

答えて

1

あなたは、以下のように句で使用する必要があります。

session = sessionFactory.openSession();   
String hql =" from CustomObjectId c where c.fileName in :fileName"; 
Query query = session.createQuery(hql); 
query.setParameter("fileName", fileName); 
List file=query.list(); 

また、あなただけのデータベースからの読み込みを(明示的に)トランザクションを必要としません。だから、Transaction tx = session.beginTransaction(); and tx.commit();行だけを削除してください。

0

Hibernate Criteriaでこれを行うことができます。

String fileNames[] = {"fileName1", "fileName2"}; 
session = sessionFactory.openSession(); 
Criteria criteria = session.createCriteria(CustomObjectId.class); 
criteria.add(Restrictions.in("fileName ", fileNames)); 
List list = criteria.list(); 
関連する問題