如果我没有为跟踪注释指定length属性会发生什么? 请注意,region是一个String。
@Column(name = "REGION", nullable = false)
public String getRegion() {
return region;
}
答案 0 :(得分:1)
如果您未指定length
属性,则如果属性类型为255
,则hibernate将采用默认长度String
。
答案 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的列定义。如果没有,则根本没有任何意义。