2
我想创建一个具有更改2个字段的集合的名称查询。以下是我尝试过的,这不起作用。它工作正常,直到我添加ae.endTime和setParameter。你不能在一个查询中设置多个东西吗?JPA命名查询集
@NamedQuery(name = AttEnt.JQL.MARK_INCOMPLETE,
query = "UPDATE AttEnt ae"
+ " SET ae.result ="
+ " Result.INCOMPLETE,"
+ " ae.endTime = :now"
+ " WHERE ae.result IS NULL")
下面是我打电话给查询的地方。
final EntityManager em = emf.createEntityManager();
// Mark things with no result as incomplete and endTime to current time
em.getTransaction().begin();
final Query upAtt = em.createNamedQuery(
AttEnt.JQL.MARK_INCOMPLETE);
updateAttempts.setParameter("now", (new Date()).getTime());
upAtt.executeUpdate();
em.getTransaction().commit();
我不得不删除getTime(),因为那是返回一个int并且与TemporalType不匹配。我结束了使用以下,它做我需要的。 updateAttempts.setParameter(“now”,new Date(),TemporalType.TIMESTAMP); – ralyn