从Spring LocalSessionFactoryBean获取表字段最大值

时间:2016-08-30 10:49:00

标签: java spring oracle hibernate sessionfactory

我的表中有一个字段定义为:

"SECTION" NUMBER(3,0)

此字段的hbm映射为:

<property name="section" type="integer">
    <column name="SECTION" />
</property>

在实体类中,我将其声明为:

private Integer section;

在我的DAO中,在插入数据之前,如果我得到的数据对于section字段而言太大,我想验证并抛出异常。

到目前为止,我使用从应用程序上下文中获取的LocalSessionFactoryBean:

int length = ((Column) localSessionFactoryBean.
           getConfiguration().
           getClassMapping(MyEntity.class.getName()).
           getProperty("section").
           getColumnIterator().next()).getLength();

问题是对于声明为整数的每个字段,长度始终为255。

如何获取oracle中定义的列长度? (这里:数字(3,0))

1 个答案:

答案 0 :(得分:0)

也许,而不是尝试访问列定义,只需在POJO上使用Hibernate Validator