HQL NOT 运算符问题
HQL NOT operator issue
我想将以下 mysql 查询翻译成 HQL
UPDATE `table` SET `my_bool` = NOT my_bool
而且我只需要更改具有所选 ID 的行
下面是我的尝试
UPDATE Model m SET m.flag = NOT m.flag WHERE m.id is :id
function(Integer id){
StringBuilder queryBuilder = new StringBuilder("UPDATE Model m SET m.flag = NOT m.flag WHERE m.id is :id");
this.em.createQuery(queryBuilder.toString());
}
我收到以下错误:
unexpected token: NOT
我刚开始学习 HQL,documentation 说它是一个有效的运算符
11.6.9. NOT predicate operator
The NOT operator is used to negate the predicate that follows it. If
that following predicate is true, the NOT resolves to false. If the
predicate is true, NOT resolves to false. If the predicate is unknown,
the NOT resolves to unknown as well.
你能帮忙吗
对我有用:
UPDATE Model m SET m.flag = !m.flag WHERE m.id = :id
和 C# 代码:
var query = container.Resolve<ISession>().CreateQuery(hql);
query.SetParameter("id", 1);
query.ExecuteUpdate();
我想将以下 mysql 查询翻译成 HQL
UPDATE `table` SET `my_bool` = NOT my_bool
而且我只需要更改具有所选 ID 的行
下面是我的尝试
UPDATE Model m SET m.flag = NOT m.flag WHERE m.id is :id
function(Integer id){
StringBuilder queryBuilder = new StringBuilder("UPDATE Model m SET m.flag = NOT m.flag WHERE m.id is :id");
this.em.createQuery(queryBuilder.toString());
}
我收到以下错误:
unexpected token: NOT
我刚开始学习 HQL,documentation 说它是一个有效的运算符
11.6.9. NOT predicate operator
The NOT operator is used to negate the predicate that follows it. If that following predicate is true, the NOT resolves to false. If the predicate is true, NOT resolves to false. If the predicate is unknown, the NOT resolves to unknown as well.
你能帮忙吗
对我有用:
UPDATE Model m SET m.flag = !m.flag WHERE m.id = :id
和 C# 代码:
var query = container.Resolve<ISession>().CreateQuery(hql);
query.SetParameter("id", 1);
query.ExecuteUpdate();