2009-11-26 5 views
0

Java-Hibernate-Validator에 관한 질문. 유효성 검사 시스템이 엔티티 삽입/업데이트를 가로채는 경우 컬렉션 속성에 액세스해야합니다.Validator 인터셉터에서의 콜렉션 탐색

내 모델은 B 요소 집합과 함께 A 클래스를 정의합니다.

saveOrUpdate (a)를 호출하면 인터셉터의 onSave/onFushDirty 메소드가 호출됩니다. 그 순간 컬렉션의 크기를 알아야합니다. 가능한가?

감사합니다.

답변

0

글쎄, 문서에 따르면 onSave 메서드는 유지하는 엔터티를받습니다. 이 시점에서 엔티티를 원하는대로 캐스팅 할 수 있습니다. instanceof로 확인하거나 다른 클래스를 허용하는 오버로드 된 메소드를 만들 수 있습니다. 그리고 거기에서 컬렉션에 액세스하십시오.

또한 활성 세션이 있는지 확인하거나 지연 컬렉션이 없는지 확인하십시오.

+0

음, 저의 첫 번째 접근이었습니다. 하지만 문제가 생겼습니다 : entity.getCollection이로드되지 않았습니다. 비어 있습니다. 그러나 항상 그런 것은 아니기 때문에 비어있는 경우 실제로 요소가 없다고 추측 할 수는 없습니다. 때로는 일하지만 때때로 그렇지 않은 경우도 있습니다. 이 행동에 대한 어떤 생각? – Alberthoven