@NotNull
@Column(name = "ShortDescription", length = 65)
private String shortDescription;
对于EclipseLink
EclipseLink不支持自动更新现有列。您必须使用DDL查询手动更新它,或者您可以根据您的要求使用以下选项之一。
create-tables
:EclipseLink将尝试为每个表执行CREATE TABLE SQL。如果表已存在,则EclipseLink将遵循特定数据库和JDBC驱动程序组合的默认行为(当为现有表发出CREATE TABLE SQL时)。在大多数情况下,抛出异常并且不创建表;将使用现有表。然后EclipseLink将继续下一个语句。
create-or-extend-tables
:EclipseLink将尝试创建表。如果表存在,EclipseLink将添加任何缺少的列。
drop-and-create-tables
:EclipseLink将尝试DROP所有表,然后创建所有表。如果遇到任何问题。 EclipseLink将遵循特定数据库和特定JDBC驱动程序组合的默认行为,然后继续下一个语句。如果架构经常更改,或者在需要清除现有数据的测试期间,这在开发中很有用。
none
:默认,没有生成ddl;没有生成架构。
在persistence.xml
文件中添加此属性。
对于Hibernate
值create
,create-drop
,validate
和update
基本上影响架构工具管理在启动时如何操作数据库架构。
您可以将update
值用于hibernate.hbm2ddl.auto
,以便在应用程序启动时更新列长度。在persistence.xml
文件中添加此属性。