Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 通过数据库创建的属性设置所有字符串字段的最大长度。Hibernate+Spring启动_Java_Hibernate_Jpa_Spring Boot - Fatal编程技术网

Java 通过数据库创建的属性设置所有字符串字段的最大长度。Hibernate+Spring启动

Java 通过数据库创建的属性设置所有字符串字段的最大长度。Hibernate+Spring启动,java,hibernate,jpa,spring-boot,Java,Hibernate,Jpa,Spring Boot,我在一个项目中有100多个JPA课程。Hibernate为它们创建一个数据库模式。字符串字段的长度为255 例如,有没有办法通过application.properties文件配置Hibernate,以便创建长度为4000的字符串字段?无法更改默认字段长度。255是JPA指定的默认值。我在其他领域找到了解决方案。我没有强制Hibernate创建最大长度的字符串字段,而是将所有创建的字符串字段的长度转换为4000 默认情况下,我使用Hibernate创建了一个数据库,字符串字段长度为255。然后,

我在一个项目中有100多个JPA课程。Hibernate为它们创建一个数据库模式。字符串字段的长度为255


例如,有没有办法通过application.properties文件配置Hibernate,以便创建长度为4000的字符串字段?

无法更改默认字段长度。255是JPA指定的默认值。

我在其他领域找到了解决方案。我没有强制Hibernate创建最大长度的字符串字段,而是将所有创建的字符串字段的长度转换为4000

默认情况下,我使用Hibernate创建了一个数据库,字符串字段长度为255。然后,我通过执行以下步骤将所有字符串字段转换为4000长度

我使用PostgreSQL,所以这个解决方案就是为它设计的。对于其他人来说,它可能需要一些改变

我使用一个脚本: 选择“ALTER TABLE”| | TABLE| | |'。| | TABLE|U name | | ALTER列 “| |列| | |”设置数据类型字符varying4000;”从…起 信息\u schema.columns,其中表\u schema='public'和 数据类型=字符变化,字符最大长度=255

创建多个脚本,将字符串字段的长度从255更改为4000

请注意,我可能需要将表_模式从public(在我的情况下)更改为您的

选择所有创建的脚本,并通过execute pgScript在SQL窗口中执行它们。
因此,数据库中长度为255的所有字符串字段的长度都将更改为4000。

大小注释可能有助于:

@Size(max = 4000)
private String name;

另请参见。

了解包含数千个字符串字段的100多个JPA类?!