когда я устанавливаю значение hibernate.hbm2ddl.auto для создания, я не получаю ошибок, но когда я устанавливаю его для обновления, я получаю ошибку.Мне нужно создать таблицы и обновить их, поэтому мне нужно обновить значение.есть идеи, что может пойти не так?
здесь есть ошибка:
15: 55: 19,148 ОШИБКА [org.jboss.as.controller.management-operation] (загрузка контроллера)Поток) WFLYCTL0013: Операция ("развертывание") не выполнена - адрес: ([("deploy" => "WebService.war")]) - описание ошибки: {"WFLYCTL0080: Failed services" => {"jboss.persistenceunit. \"WebService.war # swap \" "=>" javax.persistence.PersistenceException: [PersistenceUnit: swap] Невозможно построить Hibernate SessionFactory Причины: javax.persistence.PersistenceException: [PersistenceUnit: swap] Невозможно построить Hibernate SessionFactory Причины:org.hibernate.exception.SQLGrammarException: Невозможно построить DatabaseInformation. Вызвано: org.h2.jdbc.JdbcSQLException: Таблица \ "PG_CLASS \" не найдена; оператор SQL: выберите relname из pg_class, где relkind = 'S' [42102-193]"}} 15: 55: 19,154 INFO [org.jboss.as.server] (Пул потоков ServerService - 37) WFLYSRV0010: Развернут" WebService.war "(имя среды выполнения:" WebService.war ") 15: 55: 19,155яNFO [org.jboss.as.server] (Пул потоков ServerService - 37) WFLYSRV0010: Развернуто «test.war» (имя-среды выполнения: «test.war») 15: 55: 19,155 INFO [org.jboss.as.controller] (поток загрузки контроллера) WFLYCTL0183: отчет о состоянии службы WFLYCTL0186: службы, которые не удалось запустить: служба jboss.persistenceunit. "WebService.war # swap": javax.persistence.PersistenceException: [PersistenceUnit: swap] Невозможно построить Hibernate SessionFactory
и вот мой постоянный xml-файл:
<?xml version="1.0" encoding="UTF-8"?>
http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"> org.hibernate.jpa.HibernatePersistenceProvider
<class>org.Swap.WebService.Model.User</class>
<class>org.Swap.WebService.Model.BaseEntity</class>
<properties>
<!-- Hibernate properties -->
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.connection.zeroDateTimeBehavior" value="convertToNull" />
<property name="hibernate.show_sql" value="false" />
<property name="hibernate.format_sql" value="true" />
<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
<!-- Database properties -->
<property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver" /> <!-- DB Driver -->
<property name="javax.persistence.jdbc.url" value="jdbc:postgresql://127.0.0.1:5432/swap" /> <!-- BD Mane -->
<property name="javax.persistence.jdbc.user" value="hidden" /> <!-- DB User -->
<property name="javax.persistence.jdbc.password" value="hidden" /> <!-- DB Password -->
</properties>
</persistence-unit>
Редактировать: если я запускаю wildfly с
<property name="hibernate.hbm2ddl.auto" value="create"/>
, то настройка его обновления и публикации будет работать, пока я не перезапущу wildfly.это может быть проблема с загрузкой wildfly?
EDIT2: вот данные из моего автономного xml:
<datasources>
<datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
<connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
<driver>h2</driver>
<security>
<user-name>sa</user-name>
<password>sa</password>
</security>
</datasource>
<datasource jta="false" jndi-name="java:jboss/datasources/swap" pool-name="swap" enabled="true" use-java-context="true">
<connection-url>jdbc:postgresql://127.0.0.1:5432/swap?useUnicode=yes&characterEncoding=UTF-8</connection-url>
<driver>org.postgresql</driver>
<security>
<user-name>postgres</user-name>
<password>postgres</password>
</security>
</datasource>
<drivers>
<driver name="h2" module="com.h2database.h2">
<xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
</driver>
<driver name="org.postgresql" module="org.postgresql">
<driver-class>org.postgresql.Driver</driver-class>
<xa-datasource-class>org.postgresql.Driver</xa-datasource-class>
</driver>
</drivers>
</datasources>