从JPA读取数据的方法

时间:2013-06-01 19:57:20

标签: java jpa eclipselink entitymanager

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

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

1 个答案:

答案 0 :(得分:2)

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

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

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

  3. 使用EntityManager#find(...)

    按主键检索单个实体
    MyObject myObject = entityManager.find(MyObject.class, myObectId);