java - JPA2.0 支持自定义用户类型和二级缓存

标签 java hibernate jpa-2.0 second-level-cache terracotta

我正在尝试决定是否从到处散布 Hibernate 切换到使用 JPA2.0,从而使提供程序可移植。
1.JPA2.0是否支持自定义用户类型?
2.我即将实现 Terracotta 作为 Hibernate 的二级缓存,主要考虑其集群功能。我想,但实际上我并不知道,JPA2.0 还定义了二级缓存提供程序的规范。如果我是对的,Terracotta 是否实现了它? (如果有人可以向我指出 TerracottaJPA 的入门指南,我将不胜感激)。

提前致谢,
一泰

最佳答案

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/

相关文章:

java - 从注释中获取值(value)

java - JPA(Hibernate)与列表创建有序的一对多关系

java - 同一个 JPA 类的多个数据库支持

java - 使用 Hibernate POJO 的 SQL 外键错误

hibernate 条件 : Eagerly load ManyToMany collection

mysql - 由于 FK,Hibernate JPA 无法创建

JPA - 插入连接表的正确方法(带有额外的列)

java - 错误 java.lang.StackOverflowError : stack size 8MB

java - 如何获取hyper-v虚拟机的总cpu使用率

java - IntelliJ IDEA - 如何折叠 else block 和 catch block 默认值?