JPA извлекает объекты из базы данных
Я пытаюсь решить задачу по программированию на Java для университета, но я не знаю, как решить следующую проблему. У меня есть следующий файл persistence.xml:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="stud" transaction-type="RESOURCE_LOCAL">
<class>lt.vu.mif.jate.tasks.task03.jpa.model.Customer</class>
<class>lt.vu.mif.jate.tasks.task03.jpa.model.Product</class>
<class>lt.vu.mif.jate.tasks.task03.jpa.model.Sale</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
<property name="hibernate.max_fetch_depth" value="3"/>
<property name="hibernate.cache.provider_class" value="net.sf.ehcache.hibernate.NoCacheProvider"/>
<property name="hibernate.generate_statistics" value="false"/>
<property name="javax.persistence.jdbc.url" value="jdbc:postgresql://****************"/>
<property name="javax.persistence.jdbc.user" value=""/>
<property name="javax.persistence.jdbc.password" value=""/>
<property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver"/>
<property name="hibernate.hbm2ddl.auto" value="none"/>
</properties>
</persistence-unit>
</persistence>
URL к базе данных здесь опущен. Я не могу изменить этот файл. Я должен подключиться к базе данных и получить все данные из базы данных. Я уже создал три необходимых класса. Как мне это сделать? Большое спасибо.
1 ответ
Решение
Посмотрите на эту страницу:
http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/SettingUpJPA/SettingUpJPA.htm
а также
https://docs.jboss.org/hibernate/orm/3.6/quickstart/en-US/html/hibernate-gsg-tutorial-jpa.html
Есть несколько других учебных пособий и т.д. Но ключевая часть, которую, я думаю, вам не хватает:
public static void main(String[] args) {
EntityManagerFactory emf = Persistence.createEntityManagerFactory("stud");
EntityManager em = emf.createEntityManager();
}
Это дает вам EntityManager. Затем вы можете позвонить:
em.getTransaction().begin();
List<Customer> result = entityManager.createQuery( "from Customer", Customer.class ).getResultList();