我在Redisson中使用了Hibernate L2缓存,当我在@Column
上使用新的@Entity
启动新版本的应用程序时,出现错误,因为缓存中的数据不包含新列。
在应用程序启动时,我无法退出缓存,因为我有共享相同Redis缓存的微服务。
实际上,诀窍是在编辑region
...时手动编辑@Cache
批注的值@Entity
...
一种解决方案是在运行时使用实体名称和内部版本ID来更改region
的值,这是通过反射进行的,但这似乎有些过分。
还有另一个更简单的解决方案吗?