我现在正在执行一些小数据库优化,并希望通过JPA在我的表中设置列长度。到目前为止,使用JPA设置String(varchar)长度没有问题,如下所示:
@Column(unique=true, nullable=false, length=99)
public String getEmail() {
return email;
}
但是,当我想对Long(bigint)类型的列执行相同操作时,它不起作用。例如,如果我写:
@Id
@Column(length=7)
@GeneratedValue(strategy = GenerationType.AUTO)
public Long getId() {
return id;
}
列大小仍然设置为默认值20.我们是否能够在JPA中设置这些长度,或者我是在咆哮错误的树?
谢谢, Gearoid。
答案 0 :(得分:0)
精度,缩放对数字类型更有意义。还取决于JDBC驱动程序和RDBMS是否允许设置特定列类型
上的那些答案 1 :(得分:0)
您是否使用Eclipse作为IDE?如果是这样,我建议您使用Dali插件(已安装)并激活“JPA详细信息”视图。此视图将指导您插入注释所需的属性。
您可以使用scale = 7而不是length = 7。然而,JPA仍然会告诉数据库准备持有20的int。
还要确保正确设置了数据库方言。