List <Student> st = session.createQuery ("select ids from students where a = :a")
.setString("a", value)
.list();
//Errors out saying that ArrayList is an unknown entity
session.lock(st, LockMode.UPGRADE);
Students本身扩展了Serializable。如何在 Hibernate 中锁定序列化数组列表?
最佳答案
您需要旋转列表并逐个锁定实体。
for(Student s : st) {
session.lock(s, LockMode.UPGRADE);
}
注:Session#lock(java.lang.Object, org.hibernate.LockMode)已弃用,取而代之的是 session.buildLockRequest(LockMode.UPGRADE).lock(student)
更新: 您还可以通过 Query.setLockMode(java.lang.String, org.hibernate.LockMode) 直接锁定查询.
关于java - Hibernate 锁定项目的数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7114100/