如何在Hibernate 3.0中实现mysql date_sub()函数

嗨,我必须在hibernate状态下编写查询

SELECT * FROM `tablename` where created_at> DATE_SUB(curdate(),INTERVAL 7 DAY)

在hibernate状态。我已经发布了有关此主题的查询。但是没人帮我。在hibernate状态下可以编写这样的查询吗?请回复。

回答:

您可以使用本机SQL查询

String sql = "SELECT * FROM tablename WHERE created_at > DATE_SUB(curdate(), INTERVAL 7 DAY)"

Query query = session.createSQLQuery(sql);

List result = query.list();

或者您可以使用Hibernate Criteria

Restrictions.sqlRestriction

String sqlWhere = "{alias}.created_at > DATE_SUB(curdate(), INTERVAL 7 DAY)";

Criteria criteria = session.createCriteria(MyEntity.class);

criteria.add(Restrictions.sqlRestriction(sqlWhere));

List result = criteria.list();

希望能有所帮助。

以上是 如何在Hibernate 3.0中实现mysql date_sub()函数 的全部内容, 来源链接: utcz.com/qa/419897.html

回到顶部