如何找出JPA @Entity中列的长度?

yot*_*oto 5 java jpa

我已经定义了一个String列

@Column(length = 4000)
Run Code Online (Sandbox Code Playgroud)

该属性包含日志信息,可能长于定义的长度.在这种情况下,可以安全地截断字段而不抛出错误消息.

我想在poo的DAO类中找出确定的列长度,以便在必要时可以截断字符串.我怎样才能做到这一点?

问候,

克里斯

Jam*_*hon 7

查看EJB 对此问题的回答 ;

如何在表单,验证和ddl中重用字段长度?

换句话说,如果您想要人员表中firstName列的长度,则使用此代码.

person.getClass().getDeclaredField("firstName").getAnnotation(Column.class).length()
Run Code Online (Sandbox Code Playgroud)

  • 当注释中给出字段大小时,这将起作用.但是,有没有注释的方法,要了解底层数据库字段的实际大小? (3认同)