https://medium.com/the-resonant-web/spring-boot-2-0-project-structure-and-best-practices-part-2-7137bdcba7d3
- 회원 정보 수정이 안 되는데 확인부탁해요
- 아래 조건대로 작동하는지도 확인해주세요~
- 비밀번호, 이름, 이메일만 수정할 수 있으며, 사용자 아이디는 수정할 수 없다.
- 비밀번호가 일치하는 경우에만 수정 가능하다.
- Controller와 Service 에 있는 필드에 final을 붙여주세요.
- DTO에 대해 공부해보세요
- https://www.baeldung.com/entity-to-and-from-dto-for-a-java-spring-application
- https://medium.com/the-resonant-web/spring-boot-2-0-project-structure-and-best-practices-part-2-7137bdcba7d3
- https://www.baeldung.com/spring-dynamic-dto-validation
- https://medium.com/msolo021015/dto-data-transfer-object-%EC%97%90-%EB%8C%80%ED%95%B4-fbbd8b472c2b
- https://dbbymoon.tistory.com/4
- https://auth0.com/blog/automatically-mapping-dto-to-entity-on-spring-boot-apis/
- 여기는 CrudRepository를 사용하셨네요? UserRepository와 다르게 사용하신 이유가 있나요?
- https://stackoverflow.com/questions/14014086/what-is-difference-between-crudrepository-and-jparepository-interfaces-in-spring
- GeneratedValue의 strategy 디폴트 값은 무엇이고 어떤걸 사용하면 좋을지도 공부해보세요~
- 기본값은
GenerationType.AUTO
이며 Generation.IDENTITY
와는 비슷하지만 유일한 차이점은 별도의 identity generator가 타입 계층별로 관리되므로 생성된 값은 타입 계층별로 고유하다는 것입니다. GenerationType.AUTO
를 사용할 경우 save() 수행시 insert 쿼리 전에 select, update 쿼리가 사용되는데 이 때 별도의 트랜잭션을 사용하여 추가적인 Connection을 사용하게 된다고 합니다. 이 경우 트랜잭션 끝나기 전까지 Connection이 반납되지 않기 때문에, 동시에 접근할 경우 DeadLock이 발생할 수 있습니다. - 이 정도만 학습했고, IDENTITY를 사용하도록 변경했습니다!
- https://www.objectdb.com/java/jpa/entity/generated
- https://lion-king.tistory.com/entry/JPA-JPA-Id-GenerationTypeAUTO-IDENTITY
- https://www.baeldung.com/hibernate-identifiers
Comments
2021-2022, August Revision
3906b16