当前位置: 首页 > 面试题库 >

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

越欣怡
2023-03-14
问题内容

我正在尝试决定是否从Hibernate全面使用切换到使用JPA2.0,从而使提供者可移植。
1.是否JPA2.0支持自定义用户类型?
2.我即将实现Terracotta作为二级缓存的Hibernate主要目的是要具有集群功能。我可以想象,但我实际上并不知道,这JPA2.0也为二级缓存提供程序定义了规范。如果我是对的,可以Terracotta执行吗?(如果有人可以指出我的入门知识TerracottaJPA我将不胜感激)。

在此先感谢,
Ittai


问题答案:

JPA2.0是否支持自定义用户类型?

没有超越@Embedded@Embeddable(已经在JPA 1.0)。根据您的需求的复杂性,他们可能会完成这项工作。

我可以想象,但我实际上并不知道,JPA2.0还为二级缓存提供程序定义了一个规范。

JPA
2.0在上定义了一些方法,EntityManager以访问由持久性提供程序维护的二级缓存,Cacheable批注和其他一些东西。但是,在JPA提供程序上插入缓存的方法是特定于提供程序的。因此,JPA没有为L2缓存提供程序定义规范。而且,如果您想将Terracota用作Hibernate作为JPA
2.0实现的L2缓存提供程序,请查看Hibernate集成文档。

参考文献

  • JPA 2.0规范
    • 第3.7节“缓存”
    • 第7.10节“缓存接口”
    • 第11.1.7节“可缓存的注释”


 类似资料:
  • 灵活配置每个管理员的功能权限和管理范围,各司其职更灵活。 【优化】为企业预置角色的同时,支持企业自定义角色 【新增】角色的管理范围支持自定义,分为部门或项目,单据或员工的管理 【新增】角色的功能权限支持自定义,允许不同角色所拥有的功能权限不同

  • 在ZF2-PostgreSQL应用程序中,我想使用Doctrine2本机查询来构建分页器列表。 因此,如果选择了任何自定义的Doctrine/Pgsql类型,它都会非常有效。但对于一个查询,我将使用来自自定义类型的数据。 我在PostgreSQL中声明了一个名为的Doctrine 2自定义类型,如下所示: 这种类型在某些表中使用。表中的示例: ( 此类型链接到实体,以便: 在事件上进行条令类型注册

  • 我计划使用infinispan作为我的Hibernate应用程序二级缓存。My all entities具有生命周期属性[新建- 简单地说,当实体生命周期属性状态到达已完成状态时,我想从缓存中驱逐实体。据我所知,Infinispan不支持自定义驱逐策略。处理我的情况的最佳方式是什么?

  • 自定义缓存类使用说明 phpGrace 1.2.1 版本新增了自定义缓存类的功能,您可以将某个相同类型的缓存封装为一个类文件,便于项目的复用 (: 实现步骤 在 phpGrace/caches/ 文件夹下创建您的自定义缓存类文件 文件命名规则 : 缓存类名称.php 类命名规则 : class 缓存类名称 extends \cacheBase{} 使用命名空间 : namespace phpG

  • Rust 自定义数据类型主要是通过下面这两个关键字来创建: struct: 定义一个结构体 enum: 定义一个枚举类型 而常量的创建可以通过 const 和 static 关键字来创建。

  • 存在多种方法来重新定义现有类型的行为以及提供新的类型。 重写类型编译 一个常见的需求是强制更改类型的“字符串”版本,即在create table语句或其他SQL函数(如cast)中呈现的版本。例如,应用程序可能希望强制呈现 BINARY 适用于除一个平台外的所有平台 BLOB 待渲染。在本例中,使用现有的泛型类型 LargeBinary ,是大多数用例的首选。但是为了更准确地控制类型,每个方言的编