잡동사니

반응형

질문

AttributeConverter및 필드 수준 주석 (예 : @Convert (converter = StringEncrypt.class) )을 사용하여 데이터베이스에 암호화 된 데이터를 저장하고 있습니다.PagindAndSortingRepository 와 함께 Pageable 을 사용할 때 암호화 된 데이터에 대해 정렬 및 페이징이 수행된다는 점을 제외하면 모든 것이 잘 작동합니다.

이 문제를 해결하는 방법에 대한 아이디어가 있습니까?

Pageable sortedBy = ListUtils.getPageable(pageAndSortType); // building a pageable
ArrayList<MyObject> elementList = new ArrayList<>();
myRepository.findAll(sortedBy).forEach(elementList::add); // querying the db with pageable object 
return elementList;
@Convert(converter = StringEncrypt.class)
private String name;

답변1

음, 정렬은 RDBMS 측에서 수행되므로 사용 가능한 콘텐츠별로 정렬됩니다. SQL에서 즉석에서 암호를 해독하거나 모두 가져 와서 직접 정렬 할 수 있습니다. 메서드 호출은 SQL SELECT * .... sort by propertyName 으로 변환되며 이와 같이 실행됩니다.

예를 들어 @Convert 와 같이 수행중인 모든 변환은 데이터를 가져온 후 애플리케이션 측에서 수행됩니다.



 

 

 

 

출처 : https://stackoverflow.com/questions/59129063/spring-data-jpa-pagingandsortingrepository-sorts-encrypted-data-instead-of-decry

반응형

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band