Hibernate 评估一个实体是否满足;其中;HQL查询
我正在编写一些工具,以便我的应用程序在可能的情况下默认进行批量HQL删除。这是为了提高我的应用程序的性能。但是,这可能会使会话中的数据过时,因为 我可以从会话级缓存中删除实体类的所有实例。这可能会反过来导致问题,因为添加到会话中的实体可能会在刷新到数据库之前被逐出 我希望能够评估特定实体是否满足delete语句中的HQL“where”子句。如果是这样,那么我可以将其从会话级缓存中逐出,因为我知道它将被大容量HQL delete从数据库中删除 我看不到任何明显的方法可以让我这么做。我可以自己打开并完成这项工作,但我怀疑沿着这条路线前进将成为一项繁重的编码任务Hibernate 评估一个实体是否满足;其中;HQL查询,hibernate,hql,Hibernate,Hql,我正在编写一些工具,以便我的应用程序在可能的情况下默认进行批量HQL删除。这是为了提高我的应用程序的性能。但是,这可能会使会话中的数据过时,因为 我可以从会话级缓存中删除实体类的所有实例。这可能会反过来导致问题,因为添加到会话中的实体可能会在刷新到数据库之前被逐出 我希望能够评估特定实体是否满足delete语句中的HQL“where”子句。如果是这样,那么我可以将其从会话级缓存中逐出,因为我知道它将被大容量HQL delete从数据库中删除 我看不到任何明显的方法可以让我这么做。我可以自己打开并
想法?你能使用update()方法的delete或update查询instant吗?我不太明白你的意思。我计划使用delete查询,但这可能会使会话级缓存中的数据处于无效状态。您能进一步解释一下吗?当您使用删除查询时,我认为hibernate不会将完整对象加载到会话中。这是正确的。但是,如果使用自然键作为标识符://填充会话,则选择、删除和保存可能会导致非请求ObjectException。createQuery(“从员工”).list()//从数据库中删除数据,但会话未触及。createQuery(“从员工中删除”)。executeUpdate()//boom:ununiqueObjectException session.save(new Employee())虽然显然不删除和插入,而是更新,但仍有许多遗留代码需要重构。