Reputation: 1658
I want to execute this query:
@Override
public int deleteOldLogByDate(LocalDateTime created_at) throws Exception {
String hql = "delete from " + Log.class.getName() + " e where e.created_at <= :created_at";
TypedQuery<Log> query = entityManager.createQuery(hql, Log.class).setParameter("created_at", created_at);
int records = query.executeUpdate();
return records;
}
But I get exception: java.lang.IllegalArgumentException: Update/delete queries cannot be typed at
Do you know how I can solve this issue?
Upvotes: 0
Views: 2069
Reputation: 36103
Bulk queries like update and delete cannot be used in TypedQuery (as the error says).
You have to use:
@Override
public int deleteOldLogByDate(LocalDateTime created_at) throws Exception {
String hql = "delete from " + Log.class.getName() + " e where e.created_at <= :created_at";
Query query = entityManager.createQuery(hql).setParameter("created_at", created_at);
int records = query.executeUpdate();
return records;
}
Upvotes: 1