2009-11-17 3 views
2

일부 검색 양식을 포함하는 Unity : Model-Glue에 빌드 된 앱이 있습니다. 데이터베이스를 쿼리하기 전에 검색 문자열에서 선행 및 후행 공백을 잘라야합니다. 또한 사용자가 저장하고 다시 사용할 수있는 bean에 검색어를 보관합니다.데이터 정리; 어떤 층?

내 문제는 그 trim() 수행 할 위치를 잘 모르겠습니다. 콩은 빈을 단순한 (논리 없음) 상태로 유지하므로 잘못된 곳인 것처럼 보입니다. 일반적으로 Bean을 업데이트 할 때주의 할 것이지만, MakeEventBean을 사용하여 작업을 단순하게 유지합니다. 서비스 계층의 모든 데이터를 다시 만지면 불필요한 오버 헤드가 생깁니다. 마지막으로 실제 SQL 쿼리를 사용하여 데이터 계층에서이 작업을 수행하는 것은 적절하지 않습니다. 작동 할 것이지만 검색 빈의 정보는 여전히 잘못 될 것입니다.

그런 경우 어떻게 했습니까?

답변

0

나는 콩을 조금 더 똑똑하게 만들었습니다. 모든 단일 setThing() 메서드를 사용하는 원숭이가 아니라 trimAll() 메서드를 간단히 적용하여 trim()을 Bean의 개별 속성에 추가했습니다.

2

면책 조항 : 저는 MG 사용자가 아니므로, 이것이 좋은 접근 방법이 될지 확실하지 않습니다. 아이디어를 공유하고 싶습니다.

전송 ORM 빈의 경우 자동 생성 빈을 확장하는 데코레이터에서 이러한 특정 작업을 수행합니다.

예를 들어, 나는 setter setSearchPhrase (phrase)를 쉽게 대체 할 수 있습니다. 여기서, 인수 값을 잘라내어 원래의 메소드를 호출합니다.

+0

ORM을 사용하지 않지만 흥미로운 아이디어입니다. – ale