2012-06-26 65 views
0

我们有许多具有位置类型的@JoinColumn字段的Hibernate实体。位置数据基本上是静态的,因此我们决定将它们完全缓存在内存中。如何将Spring bean注入到hibernate自定义类型中?

最初的计划是用locationId字段替换所有位置字段。但是,我们很快意识到这是太多工作,特别是因为引用了位置字段的标准查询不容易被现有工具所采用。

另一种方法是实现将locationIds从数据库映射到Location对象的自定义Hibernate类型,但似乎没有任何简单的方法将缓存bean注入到自定义类型实例中。

(我们的Hibernate的版本不提供Configuration.registerTypeOverride()调用,所以我们无法控制的类型实例的实例,因此没有办法来注入。)

回答

0

在我的特定情况下,我可以继承实体的PersistenceProvider并在会话工厂创建完成后立即传递Spring上下文。

相关问题