0
添加記錄之前如何創建H2表
我的項目涉及JPA和我persistence.xml
文件下列在JPA
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0">
<persistence-unit name="rest-jpa">
<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
<jta-data-source>java:/comp/env/jdbc/restDB</jta-data-source>
<class>org.wso2.as.ee.Student</class>
<properties>
<property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
</properties>
</persistence-unit>
</persistence>
我H2數據庫是一個內存數據庫。
當我在添加一條記錄之前嘗試查找某個記錄時,它會給出一個沒有找到的表的錯誤。我認爲只有在向數據庫添加記錄時才創建表。如何在添加任何記錄之前創建表格?
非常感謝。這解決了這個問題。 –
我使用的是OpenJPA,它現在支持JPA 2.0規範。此屬性來自JPA 2.1。 –
@callkalpa對於任何JPA 2.1之前的實現,您應該使用供應商特定的屬性。對於'OpenJPA',你可以看到這個URL:http://openjpa.apache.org/builds/2.2.0/apache-openjpa/docs/ref_guide_mapping.html。請注意,當'openjpa.jdbc.SynchronizeMappings'屬性可以完成它的工作時,也會提到:'當應用程序獲得它的第一個EntityManager時,OpenJPA將在這些類上運行映射工具。沒有其他方法可以自動執行它(除非使用'java org.apache.openjpa.jdbc.meta.MappingTool' - 這在文檔中也有提到)。 –