JPA + Hibernate,避免丢弃表

To *_*Kra 1 hibernate jpa hsqldb

我使用的是JavaSE + JPA + Hibernate + HSQLDB.

我的持久性xml:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
    <persistence-unit name="persistence" transaction-type="RESOURCE_LOCAL">
        <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
        <class>sk.tokra.jpa.model.TestDB</class>
        <properties>
            <property name="javax.persistence.jdbc.driver" value="org.hsqldb.jdbcDriver" />
            <property name="javax.persistence.jdbc.url" value="jdbc:hsqldb:C:\Dev\db\hsqldb_db" />
            <property name="javax.persistence.jdbc.user" value="root" />
            <property name="javax.persistence.jdbc.password" value="" />
            <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect" />
            <property name="hibernate.show_sql" value="true" />
            <property name="hibernate.format_sql" value="false" />
            <property name="hibernate.hbm2ddl.auto" value="create"/>
        </properties>
</persistence-unit>
</persistence>
Run Code Online (Sandbox Code Playgroud)

我创建表,把对象放在那里,findObject by id返回我的obj [ok],我停止app - 下一步启动应用程序读取,得到我null对象,当我找到id(表是空的).

我以为:

<property name="hibernate.hbm2ddl.auto" value="create"/>
Run Code Online (Sandbox Code Playgroud)

不要放我的桌子,

有任何想法吗 ?

Dav*_*que 6

本回答所述,该值create将创建模式,从而破坏以前的数据.update如果您想保留数据,请尝试使用.