Я ожидал, что JPAContainer автоматически создаст таблицу базы данных, когда для параметра 'hbm2ddl.auto' установлено значение 'update', однако это, похоже, не так. Что-то не так в моей конфигурации или я должен использовать что-то еще, чтобы получить желаемую функциональность?JPAContainerFactory не создает таблицу базы данных
Я использую следующую команду, чтобы создать JPAContainer
accounts = JPAContainerFactory.make(Account.class, RumUI.PERSISTENCE_UNIT);
Класс счетам
@Entity
@Table(name="accounts")
public class Account implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(generator="increment")
@GenericGenerator(name="increment", strategy = "increment")
private Long id;
@NotNull
@Size(min = 2, max = 24)
@Column(name = "name", unique=true)
private String name;
@NotNull
@Email
@Column(name = "email")
private String email;
@NotNull
@Size(min = 2, max = 24)
@Column(name = "password")
private String password;
@NotNull
@Column(name = "role")
private String role;
public Account() {
}
//getters and setters
}
И persistence.xml
<persistence-unit name="RuM">
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<class>ee.ut.cs.rum.domain.Account</class>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
<property name="hibernate.connection.url" value="jdbc:postgresql://127.0.0.1:5432/RuM"/>
<property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver"/>
<property name="hibernate.connection.username" value="postgres"/>
<property name="hibernate.connection.password" value="postgres"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="true"/>
<property name="hbm2ddl.auto" value="update"/>
<property name="hibernate.current_session_context_class" value="thread" />
</properties>
</persistence-unit>
Я бы ожидать, что в базе данных «учетные записи таблицы» будут создаваться автоматически, так как «hbm2ddl.auto» установлен в «update». Однако таблица не создается.
Если я создаю Hibernate ServiceRegistry и SessionFactory напрямую, используя те же настройки (используя объект Configuration), создается таблица.
Что мне здесь не хватает?
Объект аннотаций были отсутствующими от моего вопроса, но присутствовал в фактическом источнике, в противном случае ServiceRegistry и SessionFactory тоже не сработали бы. Но спасибо вам за внимание. Я отредактировал этот вопрос соответствующим образом. – FableBlaze
Как вы решаете вопрос? Я хочу это узнать.Спасибо! –
Пользователи может выдвигать или понижать предлагаемые решения. Пользователь, который задал вопрос, может выбрать одно из решений как принятое. – FableBlaze