谓词为'&'操作员检查JPA2中的where子句

时间:2017-05-16 08:44:04

标签: java hibernate jpa

有没有办法为bitWise运算符'&'设置条件在SQl where子句中,使用返回谓词的JPA2。

1 个答案:

答案 0 :(得分:0)

1.创建一个NamedQuery / NativeQuery 2.创建一个扩展org.hibernate.dialect.MySQLDialect的类MySQLDialect

public class MySQLDialect extends org.hibernate.dialect.MySQLDialect {
    public MySQLDialect() {
        super();
        registerFunction("bitwiseAnd", new SQLFunctionTemplate(StandardBasicTypes.BIG_INTEGER,
                "(?1 & ?2)"));
    }

3.确保在你的" hibernate.cfg.xml"

中放置te语句

<强> com.Mypackage.MySQLDialect

4.在你的dao课程中,你可以调用上面的&#34; bitwiseAnd&#34;方法如下

TypedQuery<UserDefClass> q = em.createNamedQuery("YOUR NativeQuery name", UserDefClass.class);
        q.setParameter(0, value);
        q.setParameter(1, new BigInteger(value));
        List<UserDefClass> list = q.getResultList();

希望这有助于某人。我希望hibernate-JPA社区也为按位运算符添加内置帮助。