분류 전체보기193 23.06.29 OneToMany mappedby를 comment로 해서 매핑에 문제가 생긴거였다. comment에서 comment를 조회할 순 없으므로 참조하고 있는 blog를 통해 매핑했어야 했다. 삭제는 해결이 됐으나 조회에서 문제가 발생했다. 댓글이 없을 때는 조회가 제대로 작동하나 댓글이 있다면 InvalidDefinitionException오류가 발생한다. LAZY로 설정되어 있어서 Jackson으로 Serialize할 때 비어있는 객체를 Serialize하려고 해서 생기는 오류라고 한다. Hibernate.initialize(blog.getComments());를 추가해 봤으나 같은 에러 발생 // Blog 엔티티 @OneToMany(mappedBy = "blog", cascade = CascadeType... 2023. 6. 29. 23.06.28 lv3을 해결하기위해 강의를 듣던 중 강사님이 User의 PK를 username으로 두는 것을 보고 좋은 방법이라 생각해 이 부분을 수정해 보았다. 내가 만든 서비스를 전 세계에 보일 때는 타임존을 통일해야 해서 글로벌 런칭을 한다면 꼭 필요한 과정이라고 알려주셔서 한 번 추가해 봤다. @EnableJpaAuditing @SpringBootApplication public class MyBlogBackendApplication { @PostConstruct public void setDefaultTimeZone() { TimeZone.setDefault(TimeZone.getTimeZone(ZoneId.of("UTC"))); } public static void main(String[] args) { S.. 2023. 6. 28. 23.06.27 erd를 만들어보자. 일단 User, Blog, Comment만 있다고 가정하면, Blog와 User는 다대일 관계일 것이다. 외래키는 Blog에서 생성하고, User는 조회만 할 것이니 외래키의 주인은 Blog일 것이다. 또한, 글을 통해 유저를 조회하진 않을 것이므로 단방향이면 될 것이다. Comment와 Blog도 다대일 관계일 것이다.위와 마찬가지의 이유로 외래키의 주인은 Comment고, 단방향이면 될 것이다. Comment와 User도 다대일 관계일 것이며, 마찬가지로 외래키의 주인은 Comment, 단방향이다. 코멘트는 blog와 크게 다르지 않게 만들어서 문제점은 없었으나 코멘트 조회를 글이 조회될 때 같이 하기 위해선 글의 조회와 코멘트의 조회를 손봐야 할 것 같다. 또한, 글이 삭제될 .. 2023. 6. 27. 23.06.23 lv2 jwt 토큰 생성해서 글 생성, 수정, 삭제 때 토큰을 통해 인가받기 3주차와 4주차 강의에서 서로 다른 sql 설정을 써서 이에 대해 질문했으나 언제 작동하느냐의 차이일 뿐 보통 사용하는 코드는 4주차 거라고 하셔서 이걸 그대로 사용하기로 함 // MySQL implementation 'mysql:mysql-connector-java:8.0.28' 이후 3주차 강의에서 사용된 코드가 더 최신의 코드라 이게 더 좋을 듯 하다고 하셔서 수정 // MySQL runtimeOnly 'com.mysql:mysql-connector-j' 예시에서 로그인과 회원가입은 어느정도 구현해놓은 것 같아 편하게 회원가입을 구현해 토큰을 사용하려 했으나 이를 위해선 admin 등의 Role도 정해줘야 해서 이는 lv3.. 2023. 6. 26. 이전 1 ··· 21 22 23 24 25 26 27 ··· 49 다음