반응형

Spring Boot 3

[Spring Boot] Hibernate 양방향관계(Bi-Directional Relationship) 무한 참조 데이터 저장 해결하기(Infinite recursion)

안녕하세요 갈아만든쌀입니다. 오늘은 Spring Boot로 컨틀로러 및 DB 작업 중 상호 무한참조로 인한 데이터 저장 해결을 해보도록 하겠습니다. 목차 용어정리 문제상황 해결방안 비교 결론 참고자료 용어정리 Owning side : Bi-directional Relation 중 @ManyToOne 어노테이션을 가지고 있는 쪽 Inversed Side : Bi-directional Relation 중 @OneToMany 어노테이션을 가지고 있는 쪽 Entity : 데이터베이스 Table에 대응되는 자바 오브젝트(ORM) 1. 문제상황 및 엔티티 구성 User : Inversed side(@OneToMany) --> UserPreference Book : Inversed side(@OneToMany) --..

개발/Back 2021.12.22

[Java / Spring] 스프링이니셜라이저(Spring initializer)를 통한 spring시작

안녕하세요 갈아만든 쌀입니다. 오늘은 Spring initializer를 통해 spring 프로젝트를 실행하는 법에 대해서 알아보겠습니다. 왜 스프링 이니셜라이저를 쓰는가? 스프링으로 프로젝트를 하면서 느낀 가장 큰 어려움은 Spring framework안에 다양한 요소들이 있는데, 이들의 버전을 맞추기가 좀 번거로운점이 있었습니다. 그래서 gradle dependancy를 하나하나 쓰기 보다는 spring initializer를 통해 한번에 설정하는게 좋겠다는 생각이 들었습니다. 어떻게 쓰는가? https://start.spring.io/ 위의 주소에 가서 설정할 수 있습니다. 저는 이 프로젝트 https://www.youtube.com/watch?v=GEv_hw0VOxE&list=PL93mKxaRDi..

기타/공부노트 2021.12.06

[Hibernate] Hibernate연결을 위한 MySQL세팅하기(+ERROR 1698 (28000): Access denied for user 'root'@'localhost' 해결)

백엔드 개발을 시작한지 꽤나 많은 시간이 지났습니다. 하지만 이미 설정되어있는 백엔드 작업에 들어가서 기능을 추가하다보니 제 자신에게 여러가지 한계가 느껴져 나름 공부하고 고민하던 것들을 조금씩 남겨보려고 합니다. 제가 느꼈던 한계는 크게 두가지입니다. 1. 새로운 프로젝트 세팅을 할떄 상당히 버벅인다 2. Hibernate에 대한 지식이 부족한 편이다. 저는 ORM?인가를 위해서 교육때는 MyBatis를 배웠지만, 현재 하는 곳에서는 Hibernate를 사용합니다. 둘을 비교하면 Hibernate가 훨씬 간편해보입니다. 이유는 SQL문을 따로 쓰지 않아도 대부분의 패턴들은 작동하기 때문입니다. 물론 커스텀 쿼리문을 써야하는 경우엔 많이 버벅일 수 있겠지만 전체적인 생산성으론 Hibernate가 훨씬 쉬..

반응형