我的项目我正在使用hibernate(3.5.6)与db进行交互。我正在使用DetachedCriteria和projection API来形成我的常规查询。
DetachedCriteria detachedCriteria = DetachedCriteria.forClass(<ClassName>.class,"rp");
detachedCriteria.setProjection(Projections.count("<field>"));
detachedCriteria.add(Restrictions.eq("<field>", field));
count = (Long) getHibernateTemplate().findByCriteria(detachedCriteria).get(0);
现在我想对值执行'按位和'操作..我可以使用相同的方法执行'按位和'操作..如果没有,最好的方法是什么?
提前致谢。
答案 0 :(得分:2)
自己想出解决方案..
关键是要将默认的“Dialect”扩展为自定义方言,并为按位和操作注册自定义方法
public class MySQLDialect extends org.hibernate.dialect.MySQLDialect {
public MySQLDialect() {
super();
registerFunction("bitwise_and", new MySQLBitwiseAndSQLFunction("bitwise_and", Hibernate.INTEGER));
}
}
以下是完整说明的链接:https://forum.hibernate.org/viewtopic.php?t=940978
干杯:) ..