javajpa获取分离结果
我的代码:
String sql = SELECT * FROM users;
List<Users> users = entityManager.createNativeQuery(sql, Users.class);
for(Users i : users)
entityManager.detach(i);
如何替换此样板循环:
for(Users i : users)
entityManager.detach(i);
?
这是一个简单的例子,但假设每个对象都有20个neested对象,那么它将如下所示:
for(Users i : users)
{
entityManager.detach(i);
for(Users y : i.getNeested())
{
entityManager.detach(y);
for(Users y : i.getNames())
....
}
}
# 1 楼答案
在事务中单独执行查询。一旦事务结束,结果将不再附加到持久性上下文
简单示例,无需单独分离。如果您有正在进行的事务,请确保使用
REQUIRES_NEW
,否则它们不会被分离