摘要
我正在尝试运行Java Web应用程序JPA
2.0示例。该示例应用程序被编写为Glassfish
使用EclipseLink
JPA提供程序在中运行。我想将其转换到运行TomEE
与OpenJPA
作为JPA提供者,但我不能任何详细的教程起床与运行OpenJPA
。
问题
我在转换persistence.xml
为OpenJPA
而不是时遇到了麻烦EclipseLink
。更具体地说,给定的persistence.xml
未指定:
也:
细节
以下是EclipseLink persistence.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0"
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_2_0.xsd">
<persistence-unit name="order" transaction-type="JTA">
<jta-data-source>jdbc/__default</jta-data-source>
<properties>
<property name="eclipselink.ddl-generation" value="drop-and-create-tables" />
<property name="eclipselink.ddl-generation.output-mode"
value="both" />
</properties>
</persistence-unit>
</persistence>
我有以下Entity
课程:
order.entity.LineItem
order.entity.LineItemKey
order.entity.Order
order.entity.Part
order.entity.PartKey
order.entity.Vendor
order.entity.VendorPart
题
如果添加openjpa.jdbc.SynchronizeMappings
如下所示的属性,OpenJPA将自动创建所有表,所有主键和所有外键以完全匹配对象
<property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
另外,您可以在TomEE中使用EclipseLink,只需将EclipseLink jar添加到 <CATALINA_HOME>/lib/
有关通用PersistenceProvider属性,请参见此处
要成功地创建一个新的连接到本机或远程服务器 - 不管通过 SSL、SSH 或 HTTP,都要在常规选项卡中设置连接属性。如果你的互联网服务供应商(ISP)不提供直接访问其服务器,安全通道协定 (SSH) 或 HTTP 是另一种解决办法。在 连接名 文本框输入一个恰当地描述你的连接名。 当你登录 Navicat Cloud 功能后,你可以从 添加到 下拉列表选择保存连接在 我的连接 或 Navica
若要成功地创建一个新的连接到本地或远程服务器 - 不管通过 SSL、SSH 或 HTTP,都要在常规选项卡中设置连接属性。如果你的互联网服务供应商(ISP)不提供直接访问其服务器,安全隧道协定(SSH)或 HTTP 是另一种解决办法。 【注意】下列的选项会根据连接的服务器类型而有所不同。 添加到 当你登录 Navicat Cloud 功能后,你可以选择保存连接在我的连接或 Navicat Clou
若要成功地创建一个新的连接到本地或远程服务器 - 不管通过 SSL、SSH 或 HTTP,都要在常规选项卡中设置连接属性。如果你的互联网服务供应商(ISP)不提供直接访问其服务器,安全隧道协定(SSH)或 HTTP 是另一种解决办法。 【注意】下列的选项会根据连接的服务器类型而有所不同。 添加到 当你登录 Navicat Cloud 功能后,你可以选择保存连接在我的连接或 Navicat Clou
DB2 RazorSQL生成DDL是用于创建用于创建该表的SQL命令。在DB2 RazorSQL生成DDL,可参考以下操作: 生成结果如下:
General setup 常规设置 Cross-compiler tool prefix CONFIG_CROSS_COMPILE 交叉编译工具前缀(比如"arm-linux-"相当于使用"make CROSS_COMPILE=arm-linux-"进行编译).除非你想配置后默认自动进行交叉编译,否则不要使用此选项. Compile also drivers which will not loa
问题内容: 我将Spring Boot与结合使用,但是当应用程序重新启动时,所有表都会删除并再次创建。有什么方法可以避免为现有表重新创建? 问题答案: 通常不应该在生产中使用hibernate.ddl- auto 。