백엔드/Spring131 [spring] @AuthenticationPrincipal 권한 비교 controller public MemberDto findMember(@AuthenticationPrincipal U principal , @Parameter(name = "page", in = ParameterIn.QUERY) Pageable pageable ) { return MemberService.findMember(principal, pageable); } service @Override public MemberDto findMember(U principal, Pageable pageable) { memberService.findMember(pageable); // 권한 확인 if(principal.getAuthorities().toString().equals("[SUPER_ADMIN]")){ .. 2022. 12. 8. [JPA] object references an unsaved transient instance - save the transient instance before flushing JPA 연관관계 사용 중 아래와 같은 에러가 나왔다. object references an unsaved transient instance - save the transient instance before flushing 오류 이유 해당 오류가 생기는 이유는 FK 로 사용되는 컬럼값이 없는 상태에서 데이터를 넣으려다보니 생기는 에러인 것이다. 예를 들어 아래와 같은 내용이 있을 때 Member (id, name) Address (id, address1, member_id) Member에 데이터를 넣지 않고 Address 에 데이터를 넣으려고 하면 member_id 값이 없어서 에러가 발생하는 것이다. 해결 방법 해결 방법으로는 연관관계를 설정할 때 cascade 옵션을 설정해준다. cascade = Ca.. 2022. 12. 2. [spring jpa] repository 에서 가장 상위에 있는 id값 가져오기 jpa 에서 id를 역순 정렬해 가장 상위에 있는 id 깂을 가져오고자 한다. Top / First 어느것을 사용하던 결과는 동일하다. public interface MemberEntityRepository extends JpaRepository { MemberEntity findFirstByOrderByIdDesc(); MemberEntity findTop1ByOrderByIdDesc(); } 2022. 11. 29. [Spring Boot] (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator) (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator) 다음과 같은 에러가 났다. 해당 오류는 기본 생성자를 추가해서 해결했다. 2022. 11. 28. [Spring boot] modelMapper 에러 - required a bean of type 'org.modelmapper.ModelMapper' that could not be found. modelMapper 를 사용하려는데 다음과 같은 에러가 나왔다. 에러 메시지 Parameter 1 of constructor in com.restapi.auth.service.impl.RelativeServiceImpl required a bean of type 'org.modelmapper.ModelMapper' that could not be found. 1개 이상의 자동주입 후보가 있어야 한다는 뜻으로 @Bean을 등록해준다. @Service @RequiredArgsConstructor public class MemberServiceImpl implements MemberService { private final ModelMapper modelMapper; } @Bean 등록 import org... 2022. 11. 22. [Spring Boot] JPA Specification 이용하여 다중 검색 조건 사용하기(string, long, enum) JPA Specification JPA 를 사용할 때 Repository 에서 id 를 검색할 경우 findById Id 와 name을 검색하고자 하는 경우 findByIdAndName 으로 쿼리 메서드를 만들 수 있다. 하지만 검색 조건이 많아질수록 쿼리 메소드가 길어지면서 가독성도 떨어지고 비효율적이다. 해서 JPA 에서 Specification 으르 제공한다. Specification 을 사용해 원하는 조건을 상황에 맞게 선택해서 추가할 수 있다. 사용법 MemberEntity 생성하기 @NoArgsConstructor @AllArgsConstructor @Getter @Setter @Entity @SuperBuilder public class MemberEntity{ @Id @GeneratedVa.. 2022. 11. 21. 이전 1 ··· 4 5 6 7 8 9 10 ··· 22 다음