Java Quarkus Panache Hibernate:如何清除缓存,使实体世界与数据库状态匹配?
我是quarkus新手,似乎在单元测试中对hibernate的缓存有问题。 测试已注入“UserTransaction”。 测试应检查数据库清理任务 这就是我要做的:Java Quarkus Panache Hibernate:如何清除缓存,使实体世界与数据库状态匹配?,java,hibernate,caching,quarkus,Java,Hibernate,Caching,Quarkus,我是quarkus新手,似乎在单元测试中对hibernate的缓存有问题。 测试已注入“UserTransaction”。 测试应检查数据库清理任务 这就是我要做的: 创建实体 启动交易 使用“persistAndFlush”按“活动记录”模式保存实体 提交事务 尝试通过“查找(id)”从数据库中获取实体,以确保已保存该实体 运行清理任务(从数据库中删除实体) 再次尝试通过“查找(id)”从数据库中获取实体,以确保该实体已被删除 步骤7失败,因为“find(id)”返回实体,尽管它不再在数据库中
TIA该问题有一个简单的解决方案,将事务添加到上次查找操作:
transaction.begin();
doc = Document.findById(uuid);
transaction.commit();
你能给我们看看你的代码吗?问题已经更新了。对我也有用。我担心当前Quarkus版本1.10.x中会有这种需求。甚至尝试通过EntityManager退出缓存。非常感谢你的回答!
transaction.begin();
doc = Document.findById(uuid);
transaction.commit();