次のような単純なJPAエンティティクラスを想定します。
@Entity(name="TASK")
public class Task implements Serializable {
/* getters/setters omitted for brevity */
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Temporal(javax.persistence.TemporalType.TIMESTAMP)
private Date done;
}
JPA 2とメタモデルを使用して、単純なSQLクエリと同等の処理を行うにはどうすればよいTypedQuery
ですかCriteriaQuery
?UPDATE TASK SET done = ? WHERE id = ?
ネット上で見つけたものはすべて、このようなJPAを使用することになります。
Query q = em.createQuery(
"UPDATE TASK SET done = :date WHERE id = :id");
q.setParameter(/* set date and id */);
q.executeUpdate();
TypedQuery
代わりにこれを行うことはできますか?