Java 关闭服务器后如何存储数据(jpa derby eclipselink)
关闭服务器后,不会存储我的Web应用程序的数据。我想在eclipselink中使用JPA。 My persistence.xml如下所示:Java 关闭服务器后如何存储数据(jpa derby eclipselink),java,xml,jpa,eclipselink,derby,Java,Xml,Jpa,Eclipselink,Derby,关闭服务器后,不会存储我的Web应用程序的数据。我想在eclipselink中使用JPA。 My persistence.xml如下所示: <?xml version="1.0" encoding="UTF-8"?> <persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<?xml version="1.0" encoding="UTF-8"?>
<persistence 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"
version="1.0">
<persistence-unit name="derbyDB" transaction-type="JTA">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>jdbc/__default</jta-data-source>
<properties>
<property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.EmbeddedDriver"/>
<property name="eclipselink.target-database" value="DERBY"/>
<property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
</properties>
</persistence-unit>
</persistence>
“关闭服务器后未存储”是什么意思?你的意思是说你关闭了数据库,然后惊讶地发现数据没有被持久化?或者,您的意思是,当您重新启动时,数据不再存在?这是德比嵌入式?!与嵌入到应用程序中一样,因此将始终在终止时清除欢迎使用堆栈溢出!您可以先学习并创建一个示例。这使我们可以更容易地帮助您。还要注意,您使用的是“eclipselink.ddl generation”value=“drop and create tables”。此设置告诉EclipseLink在启动时删除并创建表-仅在不希望数据在运行之间持久化的开发中使用此设置。
public class JpaDAO{
@PersistenceContext(unitName = "derbyDB")
private EntityManager em;
@Override
public void save(final JpaDAO j){
assertNotNull(j);
em.persist(j);
}
}