有没有办法为bitWise运算符'&'设置条件在SQl where子句中,使用返回谓词的JPA2。
答案 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社区也为按位运算符添加内置帮助。