如何让JPA查询不经过session。

JPA的查询会先从session上下文中获取对象,执行两次查询实际引用的对象是同一个。伪代码如下:

Signature s = signatureRepository.findOne(id);
s.setSignature(info);
Object o = signatureRepository.getOne(id);
(Signature) o).setSignature("test");
signatureRepository.save(s);

这样存入数据库的是指是 test ,期望的值是存入 info

请问在不改变顺序的情况下,能让第二次查询为实时查询且不加载进session中?

已处理,在下次查询之前执行
EntityManager detach(Object o)
清除缓存即可