public static void main(String[] args) {
Session session = null;
Transaction tx = null;
List list = null;
Criteria criteria = null;
InfoTab infoTab = null;
try {
session = HibernateSessionFactory.getSession();
tx = session.beginTransaction();
DetachedCriteria detachedCriteria = DetachedCriteria
.forClass(InfoTab.class);
Integer categoryId = 1;
String title = "出租";
if (categoryId != 0) {
detachedCriteria.add(Restrictions.eq("categoryId", categoryId));
} else if (!title.equals("")) {
detachedCriteria.add(Restrictions.like("title", title,
MatchMode.ANYWHERE));
}
/*
* 我的意思是:如何两个条件都满足,如何才能自由组合成如下示例?
*
* detachedCriteria.add(Restrictions.and(Restrictions.eq("categoryId",
categoryId), Restrictions.like("title", title,
MatchMode.ANYWHERE)));
*/
criteria = detachedCriteria.getExecutableCriteria(session);
list = criteria.list();
for (int i = 0; i < list.size(); i++) {
infoTab = (InfoTab) list.get(i);
System.out.println(infoTab.getTitle());
}
tx.commit();
} catch (HibernateException he) {
he.printStackTrace();
}
}
Session session = null;
Transaction tx = null;
List list = null;
Criteria criteria = null;
InfoTab infoTab = null;
try {
session = HibernateSessionFactory.getSession();
tx = session.beginTransaction();
DetachedCriteria detachedCriteria = DetachedCriteria
.forClass(InfoTab.class);
Integer categoryId = 1;
String title = "出租";
if (categoryId != 0) {
detachedCriteria.add(Restrictions.eq("categoryId", categoryId));
} else if (!title.equals("")) {
detachedCriteria.add(Restrictions.like("title", title,
MatchMode.ANYWHERE));
}
/*
* 我的意思是:如何两个条件都满足,如何才能自由组合成如下示例?
*
* detachedCriteria.add(Restrictions.and(Restrictions.eq("categoryId",
categoryId), Restrictions.like("title", title,
MatchMode.ANYWHERE)));
*/
criteria = detachedCriteria.getExecutableCriteria(session);
list = criteria.list();
for (int i = 0; i < list.size(); i++) {
infoTab = (InfoTab) list.get(i);
System.out.println(infoTab.getTitle());
}
tx.commit();
} catch (HibernateException he) {
he.printStackTrace();
}
}