使用Hibernate進行復雜SQL查詢需要使用Hibernate Criteria API或HQL(Hibernate Query Language)。
Criteria criteria = session.createCriteria(Entity.class);
criteria.add(Restrictions.eq("columnName", value));
criteria.add(Restrictions.gt("columnName", value));
criteria.addOrder(Order.asc("columnName"));
List<Entity> result = criteria.list();
Query query = session.createQuery("SELECT e FROM Entity e WHERE e.columnName = :value AND e.anotherColumn > :value");
query.setParameter("value", value);
List<Entity> result = query.list();
以上是兩種常用的方法,根據具體的需求和條件可以進一步定制查詢語句。Hibernate Criteria API提供了更靈活的查詢條件設置和多表連接查詢的能力,而HQL則更接近SQL語法,更適用于復雜查詢需求。