Hibernate 休眠:是否可以在二级缓存中保存临时字段?

Hibernate 休眠:是否可以在二级缓存中保存临时字段?,hibernate,jakarta-ee,jpa,Hibernate,Jakarta Ee,Jpa,我需要跟踪一个持久实体的字段,该字段将经常更改,并且不是该实体的真正特征,而是某种计算。有时,用户希望看到该计算,但这种情况非常罕见(一个月左右)。 因此,必须以某种方式保存此计算的结果,但我希望避免每次更改时都将其保存在数据库中,因为这样每次都会触发父实体的更新事件(这将创建不必要的数据库事务、用户通知等) 解决此问题的第一个想法是使字段暂时化,但将其保存在hibernate的二级缓存中。在查看文档时,我没有找到这样做的方法,但也许我发现了一个隐藏的可能性。 那么你知道这是否以及如何可能吗 (

我需要跟踪一个持久实体的字段,该字段将经常更改,并且不是该实体的真正特征,而是某种计算。有时,用户希望看到该计算,但这种情况非常罕见(一个月左右)。 因此,必须以某种方式保存此计算的结果,但我希望避免每次更改时都将其保存在数据库中,因为这样每次都会触发父实体的更新事件(这将创建不必要的数据库事务、用户通知等)

解决此问题的第一个想法是使字段暂时化,但将其保存在hibernate的二级缓存中。在查看文档时,我没有找到这样做的方法,但也许我发现了一个隐藏的可能性。 那么你知道这是否以及如何可能吗


(我有其他解决这个问题的方法,例如使用容器的数据网格,在我的例子中是JBoss的Infinispan,但这需要为每个应用服务器提供不同的解决方案。我只想确定上述独立于容器的解决方案是否可以作为替代方案)

如果计算是SQL函数,则可以使用@公式(而不是在应用程序中计算和存储)


关于二级缓存,不,临时字段不缓存。缓存(通常是ORM)基于持久对象/属性及其元数据。根据定义,瞬态被完全忽略。

计算没有SQL函数,因此我认为我不能使用这种方法。谢谢你的回答,我只是通过尝试确认了这一点,你是对的,这是不可能的。