0

我的项目我使用hibernate(3.5.6)与db交互。我使用DetachedCriteria和projections 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);

现在我想对值执行“按位与”运算。我可以使用相同的方法来执行“按位与”运算。如果不是,最好的方法是什么?

提前致谢。

4

1 回答 1

2

自己想出了解决方案..

关键是将默认的“方言”扩展到您的自定义方言,并为按位和操作注册您的自定义方法

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

干杯:)..

于 2012-06-21T16:30:06.560 回答