일단 엔티티를 작성한다. package org.cvcvcx.board.entity; import lombok.*; import javax.persistence.*; @Entity @Builder @AllArgsConstructor @NoArgsConstructor @Getter @ToString(exclude = "writer") public class Board extends BaseEntity{ @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long bno; private String title; private String content; @ManyToOne(fetch = FetchType.LAZY) private Member wri..
Bean등록을 통해서 SecurityConfig에서 JwtAuthenticationFilter를 사용하려고 했으나, 순환참조가 발생함그래서 검색해보니 다른 config파일로 Bean을 빼는 방법이 있고, AbstractHttpConfigurer를 만들어서 보안 설정을 별개의 클래스를 통해서 하는 방식이 있음(같은말일수도 있음 시도해 본건 두번째 방법) AbstractHttpConfigurer와 SecurityChainFilter가 둘다 사용되길래, 둘의 차이를 ChatGPT에 물어보았더니, 아래와 같은 답변이 나옴 AbstractHttpConfigurer와 SecurityFilterChain은 모두 Spring Security의 구성 요소이지만 서로 다른 용도로 사용됩니다.AbstractHttpConfi..
서버에서 dto에 넣어서 가져오는 방식과 javascript에서 형식을 맞추는 방법이 있다.아래는 javascript에서 format을 진행하는 방법이다.//dtolist에 담겨있는 첫번째 dto의 regDate 등록일자를 가져옴 -- string형식 ex)2023-02-01T18:34:21.501983 var dateString = result.data.dtoList[0].regDate; //그 날짜형식을 Date 객체로 만듬 var date = new Date(dateString); var options = { year: "numeric", month: "2-digit", day: "2-digit" }; var formattedDate = date.getFullYear() + "년" + date.ge..
implementation 'com.querydsl:querydsl-jpa:5.0.0' annotationProcessor( "javax.persistence:javax.persistence-api", "javax.annotation:javax.annotation-api", "com.querydsl:querydsl-apt:5.0.0:jpa") 위 코드를 build.gradle에 추가하고, 최상위 폴더 아래에 있는 build.generated.sources.annotationProcesser.java.main 폴더를 잘 확인해보면 엔티티를 기반으로 한 Q~~~~ 클래스들이 생성되어있을 것이다.하지만, 위치가 마음에 들지 않는 경우에는 지정할 수 있는 방법이 있다. plugins { id 'java' id ..
MemberDTOpackage study.querydsl.dto; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; @Data @Builder @NoArgsConstructor public class MemberDTO { private String username; private int age; public MemberDTO(String username, int age) { this.username = username; this.age = age; } } JPQL에서 DTO로 조회하는 방법은 다음과 같다. @Test public void findDtoByJPQL(){ //아래와 같이 생성자를 사용하는 것과 같은 문법으로..
DTO의 생성자에 붙이는 어노테이션@QueryProjection 을 사용하면, DTO의 QType을 만들 수 있고, 그걸 사용해서 쿼리문을 생성할 수 있다. UserDTO@Data @NoArgsConstructor @Builder public class UserDTO { private String name; private int age; @QueryProjection public UserDTO(String name, int age) { this.name = name; this.age = age; } }이후, complieQuerydsl을 하면, DTO의 Q타입이 생성된다.@Test public void findDtoByQueryProjection() throws Exception{ //given List..
BooleanBuilder를 사용해서 해결하는법과 Where문에서 다중 파라미터를 사용하는 방법 두가지가 존재 BooleanBuilder@Test public void 동적쿼리_booleanBuilder() throws Exception{ //given String usernameParam = "member1"; Integer ageParam = 10; //when List members = searchMember1(usernameParam, ageParam); //then members.forEach(member1 -> System.out.println("member1 = " + member1)); assertThat(members.size()).isEqualTo(1); } //동적 검색 조건을 영어로..
- Total
- Today
- Yesterday
- 작업 순서정리
- QueryDSL
- spring data JPA
- 일대다
- 11기
- Config
- notion
- @BaseEntity
- 배열
- security
- 커맨드객체
- dto
- test
- ModelAttribute
- Java
- 코딩테스트
- Python
- 취업
- JPA
- 데이터베이스 설계
- 다대일
- SSAFY
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |