我正在尝试决定是否从到处散布 Hibernate
切换到使用 JPA2.0
,从而使提供程序可移植。
1.JPA2.0
是否支持自定义用户类型?
2.我即将实现 Terracotta
作为 Hibernate
的二级缓存,主要考虑其集群功能。我想,但实际上我并不知道,JPA2.0
还定义了二级缓存提供程序的规范。如果我是对的,Terracotta
是否实现了它? (如果有人可以向我指出 Terracotta
和 JPA
的入门指南,我将不胜感激)。
提前致谢,
一泰
最佳答案
Does JPA2.0 support custom user-types?
除了@Embedded
和@Embeddable
(已经在JPA 1.0 中)之外没有什么。根据您需求的复杂程度,他们可能会胜任。
I would imagine, but I don't actually know, that JPA2.0 also defines a spec for second-level cache providers.
JPA 2.0 在 EntityManager
上定义了方法来访问由持久性提供程序维护的二级缓存、Cacheable
注释和其他一些东西。但是在 JPA 提供程序上插入缓存的方式是特定于提供程序的。所以不,JPA 没有为 L2 缓存提供程序定义规范。如果您想将 Terracota 用作 L2 缓存提供程序,将 Hibernate 用作 JPA 2.0 实现,请查看 Hibernate 集成文档。
引用资料
- JPA 2.0 规范
- 第 3.7 节“缓存”
- 第 7.10 节“缓存接口(interface)”
- 第 11.1.7 节“可缓存注释”
关于java - JPA2.0 支持自定义用户类型和二级缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3628344/