Spring/Spring Data JPA26 Jpa JSON 순환참조 @ResponseBody ORM Jpa @ResponseBody 재귀 memory error ORM을 이용하다보면 @ResponseBody 에서 자동으로 마샬링 언마샬링시에 무한 재귀에 빠지게 된다. 이때 부모자식과 같은 관계를 갖는 객체는 원하는 형태에 따라 다음과 같은 @Annotation을 붙여 주어야 한다. @JsonBackReference 는 순환참조의 역할을 끝어주게 되며, 해당 객체가 마샬릴될때 대상에서 제외 된다. 즉 양방향의 JSON 마샬링을 할 수 없는 단점 존재한다. 양방양이 가능한 @JsonIdentityInfo(http://springquay.blogspot.kr/2016/01/new-approach-to-solve-json-recursive.html) 있지만 같은 객체에대한 마샬링은 해주지 않고 참조만 .. 2017. 9. 21. JPA foreign key 생성(@MapsId @ManyToOne) JPA 에서 Forin Key 를 생성해 보자 클레스 다이어 그램으로 구조를 한눈에 먼저 확인하자 MediaManagementEntity 미디어 정보를 가진 엔티티 클레스 CampaignEntity 캠페인 정보를 가진 클레스 미디어 정보를 가진 클레스와 FK를 맺어 미디어 정보를 확인한다. 애드그룹 엔티티와 1:N 관계 AdGroupEntity 애드그룹 정보를 가진 클레스 캠페인 엔티티와 N:0..1 관계 @JoinColumn @JoinColumn 을 이용하여 조인 한다. name="자식 테이블의 컬럼 명, 자기 자신의 컬럼명" referencedColumnName="조인 대상 부모의 컬럼명" @JoinColumn (name="concertOrderId", referencedColumnName="conc.. 2016. 11. 29. Spring JPA QueryMethod(findBy...deleteBy) QueryMethod (Repository 사용자 변형) https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#repositories.query-methods PK값이 두개일때 FK가 걸려있는 컬럼을 이용해서 모두 지우려 할경우 JPA 에서는 데이터를 조회 한후 삭제 하기 때문에 삭제할 데이터가 없다는 오류메세지를 주고, 익셉션이 발생한다, 이때 사용자 변형 쿼리를 이용해서 사용하면 해결 가능하다. findByUserId(fieldName) deleteByUserIdAnd{fieldName} @Eembedable 로 Muilti PK 사용시 PK값을 두개를 사용하기 때문에 @Embededable , Id 를 이용하는데 이때는 {PKCla.. 2016. 10. 27. Spring JPA Hibernate Embeddable(PK composite) http://www.javabeat.net/embeddable-embedded-embeddedid-jpa-annotations/http://uaihebert.com/tutorial-jpa-composite-primary-key/http://ldg.pe.kr/framework_reference/hibernate_annotations/ver3.1beta3/html/entity.html * Criteria 예시 블로그http://antop.tistory.com/30 @Entity @Getter @Setter @Table(name = "campaign") @ToString( exclude = "mediaManagementEntity") public class CampaignEntity implements Ser.. 2015. 11. 30. 이전 1 ··· 3 4 5 6 7 다음 728x90