JPA和toplink create-table如果它们尚不存在?
看起来jpa是让我提出很多问题的东西。
添加了这个
<property name="toplink.ddl-generation" value="create-tables"/>
我的JPA应用程序总是在运行时创建表,这会导致表已存在时出现异常。我希望JPA检查表是否已经存在,如果没有创建它们,但是我找不到上面的属性的值,这样做。
所以如果我把它关闭,有没有办法在某个时候手动告诉JPA创建所有表?
这里更新是我得到的例外
Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'tags' already exists
Error Code: 1050
Call: CREATE TABLE tags (ID BIGINT AUTO_INCREMENT NOT NULL, NAME VARCHAR(255), OCCURRENCE INTEGER, PRIMARY KEY (ID))
MySQLSyntaxErrorException?现在这肯定是错的
没有找到相关结果
已邀请:
3 个回复
绊伦欧
臀博
扩展名的TopLink Essentials文档,
应保持现有表格不变: 用于架构生成的TopLink JPA扩展 指定数据描述符语言 (DDL)你想要的生成动作 你的JPA实体。指定DDL 生成目标,见
。 有效值:
- 不产生DDL;没有 架构生成。
- 为。创建DDL 不存在的表格;留下现有的 表格不变(另见
)。
- 为所有表创建DDL;放弃所有现有的 桌子(另见
和
)。 如果你在外面使用持久性 EJB容器,并希望 创建DDL文件而不创建 表,另外定义了一个Java 系统属性
和 将其值设置为
。
际恃啸称桅