使用JPA注释设置Long值的列长度

时间:2010-04-08 14:00:12

标签: mysql jpa annotations

我现在正在执行一些小数据库优化,并希望通过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。

2 个答案:

答案 0 :(得分:0)

精度,缩放对数字类型更有意义。还取决于JDBC驱动程序和RDBMS是否允许设置特定列类型

上的那些

答案 1 :(得分:0)

您是否使用Eclipse作为IDE?如果是这样,我建议您使用Dali插件(已安装)并激活“JPA详细信息”视图。此视图将指导您插入注释所需的属性。

您可以使用scale = 7而不是length = 7。然而,JPA仍然会告诉数据库准备持有20的int。

还要确保正确设置了数据库方言。