JPA 25

Spring Boot Project(3) - 게시글 CRUD

게시물 Entity domain 패키지를 만든다. 도메인이란 게시글, 댓글, 회원 등 소프트웨어에 대한 요구사항 혹은 문제 영역이다. @Getter @NoArgsConstructor @Entity public class Posts extends BaseTimeEntity { @Id @GeneratedValue(strategy= GenerationType.IDENTITY) @Column(name="post_id") private Long id; @ManyToOne(fetch=FetchType.LAZY) @JoinColumn(name="member_id") private Member member; @Column(length = 500, nullable = false) private String title; ..

BACK/SPRING 2023.01.24

[JPA] Executing an update/delete query 에러 해결

Executing an update/delete query; nested exception is javax.persistence. TransactionRequiredException: Executing an update/delete query with root cause 에러문 그대로 JPA에서 update/delete 쿼리를 사용할 때는 Transaction 처리를 해줘야 한다. @Transactional @Modifying(clearAutomatically = true) @Query("UPDATE Share s SET s.progress= :progress WHERE s.user.userId= :userId and s.post.id = :postId") void updateProgress(Long u..

BACK/JPA 2022.08.31

[Spring JPA] 쿼리 메소드 사용하기

쿼리 메소드란? JPA를 이용해서 목록 기능을 구현할 때는 JPQL을 이용하면 된다. JPQL은 검색 대상이 테이블이 아닌 엔티티이므로 다소 복잡할 수 있다. 쿼리 메소드는 메소드의 이름으로 필요한 쿼리를 만들어주는 기능이다. find + 엔티티이름 + By + 변수 이름 ex) findBoardByTitle() : Board 엔티티에서 title 변수 값만 조회한다. 엔티티 이름은 생략될 수 있고, 현재 사용하는 Repository 인터페이스에 선언된 타입 정보를 기준으로 자동으로 엔티티 이름이 적용된다. -게시글 제목으로 목록 조회하는 findByTitle() 메소드를 BoardRespository 인터페이스에 추가 package com.example.chapter05.persistence; impo..

BACK/SPRING 2022.07.04