使用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语法,更适用于复杂查询需求。