You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何以与JPA提供者无关的方式创建CriteriaBuilder实例?

以JPA提供者无关方式创建CriteriaBuilder实例

要实现与JPA提供者无关的CriteriaBuilder创建,只需基于JPA标准API操作,完全避开厂商特定工具类(比如HibernateUtil),具体步骤如下:

  • 首先通过JPA标准的Persistence类创建EntityManagerFactory,传入你在persistence.xml中定义的持久化单元名称:

    // 替换为你的持久化单元名称
    EntityManagerFactory emf = Persistence.createEntityManagerFactory("YourPersistenceUnitName");
    
  • 有两种方式获取CriteriaBuilder:

    1. 直接从EntityManagerFactory获取:
      CriteriaBuilder cb = emf.getCriteriaBuilder();
      
    2. 先创建标准的EntityManager,再从中获取:
      EntityManager em = emf.createEntityManager();
      CriteriaBuilder cb = em.getCriteriaBuilder();
      
  • 使用完毕后记得关闭资源(避免内存泄漏):

    em.close();
    emf.close();
    

这种方式完全遵循JPA规范,不管你使用Hibernate、EclipseLink还是其他JPA实现,代码都无需修改,真正做到与提供者无关。

内容的提问来源于stack exchange,提问作者user352290

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 11:42:01