java - 从 JPA 读取数据的方法

标签 java jpa eclipselink entitymanager

我阅读了文档,发现要读取 jpa 数据,我需要使用以下代码。 这是通过 sql 从 JPA 表读取数据的唯一方法吗?

 factory = Persistence.createEntityManagerFactory("abc");
EntityManager entityManager = factory.createEntityManager();
Query query = entityManager.createQuery("SELECT p FROM " + className + " p");

最佳答案

使用 JPA 读取数据的方法有多种。您提供的示例使用 JPQL 。此外,您还可以:

  1. 通过 EntityManager#createNativeQuery(String nativeSql) 执行 native SQL 查询:

    Query q = entityManager.createNativeQuery("SELECT * FROM MY_TABLE");
    
  2. 使用Criteria API

  3. 使用 EntityManager#find(...) 通过主键检索单个实体:

    MyObject myObject = entityManager.find(MyObject.class, myObectId);
    

关于java - 从 JPA 读取数据的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16876681/

相关文章:

java - 如何向 Hibernate 过滤器添加大于/小于

java - JPA:如何加载具有外键的实体而不加载相关实体

java - 没有 setter 的 JPA 2.0 持久属性

java - 为什么 Java MySQL 连接无法检测到触发器所做的更改?

java - 将变量简单传递给新类,然后用 Java 输出

java - 产生错误的 XML 输出

java - Apache HttpClient 制作多部分表单帖子

java - JPA 和 Memcached 有何不同?

java - 加入表后结果中的 EclipseLink Criteria API 计数

jakarta-ee - 检查JTA事务是否提交成功