【发布时间】:2016-04-18 03:28:28
【问题描述】:
我使用eclipselink.ddl-generation.output-mode=database 来生成数据库模式。生成的 SQL 可以使用字符长度语义来生成 varchar2 字段吗? Enhance generated DDL of EclipseLink 似乎相关,对此问题的答案可能会解决此问题。
【问题讨论】:
标签: oracle jpa eclipselink ddl
我使用eclipselink.ddl-generation.output-mode=database 来生成数据库模式。生成的 SQL 可以使用字符长度语义来生成 varchar2 字段吗? Enhance generated DDL of EclipseLink 似乎相关,对此问题的答案可能会解决此问题。
【问题讨论】:
标签: oracle jpa eclipselink ddl
有两种方法可以更改生成的 SQL。第一个是更改目标数据库平台并且是 EclipseLink 特定的。这允许您选择任何数据库平台类,并且您可以覆盖您的数据库平台以使用您想要的任何类型定义,但这将是通用的 - 即所有字符串都将使用 Varchar(255)。
另一种方法是使用 JPA 注释来更改它。 @Column 注释允许指定可能用于或不用于 DDL 的长度,以及定义用于 DDL 的 columnDefinition。就像是
@Column(name="..", columndefinition="Varchar2(255) NOT NULL")
【讨论】: