2016-08-30 2 views
0

과 같이 정의 된 엔티티 클래스에서 내 테이블에 필드가

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

나는 그것을 선언 as :

private Integer section; 

내 DAO에서 데이터를 삽입하기 전에 유효성을 검사하고 예외가 발생하면 데이터를 가져오고 싶습니다. 섹션 입력란에 너무 큽니다.

지금까지 내가 내 응용 프로그램 컨텍스트에서 얻을 LocalSessionFactoryBean의를 사용하여 무엇을 :

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

문제는 정수로 선언 된 각 필드의 길이는 항상 255

어떻게 때문이다 나는 오라클에 정의 된 컬럼 길이를 얻는다. (여기 : 숫자 (3,0))

답변

0

아마도 열 정의에 액세스하는 대신에 Hibernate Validator을 POJO에 사용하면됩니까?

+0

이 솔루션을 사용하려면 유효성을 검사하려는 pojo의 각 속성에 최대 @Size를 하드 코딩해야합니다. 우리가 그것을 동적으로 작동하게 만들 수 없다면 그것은 우리의 최후의 수단이 될 것입니다. – gyc

+0

나는 깨끗하고 쉽게 이걸 사용했다. – gyc