如果未在String的@Column注释中指定length属性,会发生什么

时间:2014-10-17 11:29:28

标签: java hibernate jpa

如果我没有为跟踪注释指定length属性会发生什么? 请注意,region是一个String。

@Column(name = "REGION", nullable = false)
public String getRegion() {
        return region;
    }

3 个答案:

答案 0 :(得分:1)

如果您未指定length属性,则如果属性类型为255,则hibernate将采用默认长度String

选中此@Column.length

答案 1 :(得分:0)

如果您不使用长度属性,则不会发生默认值,只有在超出数据库端的定义大小时才会抛出异常,即varchar2(32)并且输入的值大于此值。< / p>

  

但是可以限制您可以使用@Size(max=32)的大小   代码方验证。

答案 2 :(得分:0)

@Column注释的length属性仅在模式生成期间使用,即:

@Column(name = "REGION", nullable = false, length=50)
public String getRegion() {
        return region;
    }
如果您使用提供程序的架构生成功能,

将创建长度为50的列定义。如果没有,则根本没有任何意义。