JPA CreateEntityManagerFactory () метод зависает - PullRequest
3 голосов
/ 15 декабря 2011

Я использую этот метод следующим образом

EntityManagerFactory emftemp = Persistence.createEntityManagerFactory("XYZ");

и my persistence.xml имеет следующую запись для этого устройства

<persistence-unit name="XYZ" transaction-type="RESOURCE_LOCAL">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <exclude-unlisted-classes>true</exclude-unlisted-classes>
    <properties>
        <property name="hibernate.show_sql" value="false"/>
        <property name="hibernate.hbm2ddl.auto" value="validate"/>
        <property name="hibernate.query.substitutions" value="true=1, false=0"/>
        <property name="hibernate.connection.driver_class" value="oracle.jdbc.driver.OracleDriver"/>
        <property name="hibernate.connection.url" value="jdbc:oracle:thin:@aesop-db.corp.nlg1.com:1521:TLCSDEV4"/>
        <property name="hibernate.connection.username" value="abcd"/>
        <property name="hibernate.connection.password" value="abcd"/>
        <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle9iDialect"/>
    <property name="hibernate.connection.timeout" value="120"/>
    <property name="hibernate.connection.provider_class" value="org.hibernate.connection.C3P0ConnectionProvider" />
    <property name="hibernate.c3p0.min_size" value="2"/>
    <property name="hibernate.c3p0.max_size" value="2"/>
    <property name="hibernate.c3p0.idle_test_period" value="60"/>
    </properties>
</persistence-unit>

Это Java-приложение, и я использую hibernate3.jar, и я использую ejb3-persistence.jar и JDK1.5.

Проблема в том, что при каждом запуске приложения оно зависает при этом вызове. Это не выбрасывание каких-либо исключений или ошибок. Это просто висит в этой точке.

Может ли кто-нибудь помочь определить, почему он не движется вперед?

Ответы [ 2 ]

1 голос
/ 15 декабря 2011

Две мысли:

  1. Когда что-то зависает, часто виноваты проблемы ввода / вывода. Поэтому постарайтесь убедиться, что БД действительно жива и вы можете подключиться к ней со своего компьютера.
  2. Это может быть дубликат Persistence.createEntityManagerFactory принимает возраст
0 голосов
/ 07 апреля 2018

У меня была такая же проблема с базой данных Oracle 11g, в которой определены только три объекта, но очень большая БД. После закомментирования следующей строки из файла persistence.xml проблема была решена.

<property name="hibernate.hbm2ddl.auto" value="update"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...