programing

@Json이 속성을 무시하는 것({"hibernateLazy")이니셜라이저", "핸들러"}가 가능합니까?

goodsources 2023. 7. 20. 21:54
반응형

@Json이 속성을 무시하는 것({"hibernateLazy")이니셜라이저", "핸들러"}가 가능합니까?

다음 코드 조각은 Java Sprint Boot에서 어떤 역할을 합니까?

@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})

JPA / 최대 절전 모드 엔티티가 있는 경우@Entity주석을 사용하여 데이터베이스에서 데이터를 가져오거나 상위 엔티티에서 게으르게 로드되는 필드에 대해 상위 엔티티에서 getMethod()를 사용하면 최대 절전 모드는 DB 테이블에 매핑된 클래스의 모든 필드/속성을 가진 개체를 반환합니다.이 필드 위에, 이 오브젝트는 또한 다음과 같은 두 개의 추가 필드를 가질 것입니다.hibernateLazyInitializer그리고.handler엔티티를 게으르게 로드하는 데 사용됩니다.

잭슨 라이브러리를 사용하여 이 엔티티를 직접 또는 간접적으로 JSON String 형식으로 직렬화하는 사용 사례가 있는 경우(예: REST API 응답에 엔티티를 반환하거나 Elasticsearch와 같은 JSON 데이터 저장소에 엔티티를 저장하는 경우) JPA 엔티티는 모든 필드와 함께 직렬화됩니다.hibernateLazyInitializer그리고.handler여분의 분야로서따라서 이러한 필드를 무시하지 않으면 JSON 형식으로 직렬화되어 JSON 문자열을 읽으면 볼 수 있습니다.

따라서 이러한 불필요한 직렬화를 방지하려면 JPA/Hibernate 엔티티에 이 코드를 작성하여 잭슨 라이브러리에 "직렬화된 JSON에는 필드가 없어야 합니다.hibernateLazyInitializer그리고.handler개체에서 해당 개체를 찾으면 무시하십시오.":

@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})

언급URL : https://stackoverflow.com/questions/67353793/what-does-jsonignorepropertieshibernatelazyinitializer-handler-do

반응형