diff --git a/build.gradle b/build.gradle index 7617478..2022ce8 100644 --- a/build.gradle +++ b/build.gradle @@ -35,8 +35,36 @@ dependencies { annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' + + // QueryDSL : OpenFeign + implementation "io.github.openfeign.querydsl:querydsl-jpa:7.0" + implementation "io.github.openfeign.querydsl:querydsl-core:7.0" + annotationProcessor "io.github.openfeign.querydsl:querydsl-apt:7.0:jpa" + annotationProcessor "jakarta.persistence:jakarta.persistence-api" + annotationProcessor "jakarta.annotation:jakarta.annotation-api" + + } tasks.named('test') { useJUnitPlatform() } + +// QueryDSL 관련 설정 +// generated/querydsl 폴더 생성 & 삽입 +def querydslDir = layout.buildDirectory.dir("generated/querydsl").get().asFile + +// 소스 세트에 생성 경로 추가 (구체적인 경로 지정) +sourceSets { + main.java.srcDirs += [ querydslDir ] +} + +// 컴파일 시 생성 경로 지정 +tasks.withType(JavaCompile).configureEach { + options.generatedSourceOutputDirectory.set(querydslDir) +} + +// clean 태스크에 생성 폴더 삭제 로직 추가 +clean.doLast { + file(querydslDir).deleteDir() +} \ No newline at end of file diff --git a/src/main/java/com/example/umc_9th/domain/inquiry/Inquries.java b/src/main/java/com/example/umc_9th/domain/inquiry/entity/Inquries.java similarity index 77% rename from src/main/java/com/example/umc_9th/domain/inquiry/Inquries.java rename to src/main/java/com/example/umc_9th/domain/inquiry/entity/Inquries.java index 55431dc..b87013b 100644 --- a/src/main/java/com/example/umc_9th/domain/inquiry/Inquries.java +++ b/src/main/java/com/example/umc_9th/domain/inquiry/entity/Inquries.java @@ -1,9 +1,8 @@ -package com.example.umc_9th.domain.inquiry; +package com.example.umc_9th.domain.inquiry.entity; -import com.example.umc_9th.domain.member.Gender; -import com.example.umc_9th.domain.member.Member; -import com.example.umc_9th.domain.review.Review; +import com.example.umc_9th.domain.inquiry.InquriesType; +import com.example.umc_9th.domain.member.entity.Member; import jakarta.persistence.*; import lombok.*; diff --git a/src/main/java/com/example/umc_9th/domain/inquiry/inquiryAttachments.java b/src/main/java/com/example/umc_9th/domain/inquiry/entity/inquiryAttachments.java similarity index 84% rename from src/main/java/com/example/umc_9th/domain/inquiry/inquiryAttachments.java rename to src/main/java/com/example/umc_9th/domain/inquiry/entity/inquiryAttachments.java index fc50de0..c4d9879 100644 --- a/src/main/java/com/example/umc_9th/domain/inquiry/inquiryAttachments.java +++ b/src/main/java/com/example/umc_9th/domain/inquiry/entity/inquiryAttachments.java @@ -1,7 +1,6 @@ -package com.example.umc_9th.domain.inquiry; +package com.example.umc_9th.domain.inquiry.entity; -import com.example.umc_9th.domain.member.Member; import jakarta.persistence.*; import lombok.*; diff --git a/src/main/java/com/example/umc_9th/domain/member/Agree.java b/src/main/java/com/example/umc_9th/domain/member/entity/Agree.java similarity index 94% rename from src/main/java/com/example/umc_9th/domain/member/Agree.java rename to src/main/java/com/example/umc_9th/domain/member/entity/Agree.java index e666a87..575ed9b 100644 --- a/src/main/java/com/example/umc_9th/domain/member/Agree.java +++ b/src/main/java/com/example/umc_9th/domain/member/entity/Agree.java @@ -1,4 +1,4 @@ -package com.example.umc_9th.domain.member; +package com.example.umc_9th.domain.member.entity; import com.example.umc_9th.grobal.BaseEntity; import jakarta.persistence.*; diff --git a/src/main/java/com/example/umc_9th/domain/member/Member.java b/src/main/java/com/example/umc_9th/domain/member/entity/Member.java similarity index 84% rename from src/main/java/com/example/umc_9th/domain/member/Member.java rename to src/main/java/com/example/umc_9th/domain/member/entity/Member.java index 73a8105..0c6eb96 100644 --- a/src/main/java/com/example/umc_9th/domain/member/Member.java +++ b/src/main/java/com/example/umc_9th/domain/member/entity/Member.java @@ -1,17 +1,12 @@ -package com.example.umc_9th.domain.member; +package com.example.umc_9th.domain.member.entity; -import com.example.umc_9th.domain.mission.mapping.UserMission; -import com.example.umc_9th.domain.region.Region; -import com.example.umc_9th.domain.region.SubRegion; -import com.example.umc_9th.domain.review.Review; +import com.example.umc_9th.domain.member.Gender; import com.example.umc_9th.grobal.BaseEntity; import jakarta.persistence.*; import lombok.*; -import org.hibernate.annotations.ColumnDefault; import java.time.LocalDate; -import java.util.List; @Entity @Getter @@ -22,7 +17,7 @@ public class Member extends BaseEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) - private Long id; //pk + private Long memberId; //pk @Column(nullable = false, length = 50) private String name; //이름 diff --git a/src/main/java/com/example/umc_9th/domain/member/repository/MemberRepository.java b/src/main/java/com/example/umc_9th/domain/member/repository/MemberRepository.java new file mode 100644 index 0000000..3695f88 --- /dev/null +++ b/src/main/java/com/example/umc_9th/domain/member/repository/MemberRepository.java @@ -0,0 +1,18 @@ +package com.example.umc_9th.domain.member.repository; + +import com.example.umc_9th.domain.member.entity.Member; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.Optional; + +public interface MemberRepository extends JpaRepository { + + + //2 id 로 멤버 테이블 조회 + //마이 페이지 화면 쿼리 + //(메서드 생성 방식 권장) + Optional findById(Long id); + + + +} \ No newline at end of file diff --git a/src/main/java/com/example/umc_9th/domain/mission/Mission.java b/src/main/java/com/example/umc_9th/domain/mission/entity/Mission.java similarity index 80% rename from src/main/java/com/example/umc_9th/domain/mission/Mission.java rename to src/main/java/com/example/umc_9th/domain/mission/entity/Mission.java index 19cedbd..5ef5141 100644 --- a/src/main/java/com/example/umc_9th/domain/mission/Mission.java +++ b/src/main/java/com/example/umc_9th/domain/mission/entity/Mission.java @@ -1,13 +1,10 @@ -package com.example.umc_9th.domain.mission; +package com.example.umc_9th.domain.mission.entity; -import com.example.umc_9th.domain.mission.mapping.UserMission; -import com.example.umc_9th.domain.review.Review; +import com.example.umc_9th.domain.review.entity.Review; +import com.example.umc_9th.domain.store.Store; import com.example.umc_9th.grobal.BaseEntity; import jakarta.persistence.*; import lombok.*; -import org.hibernate.annotations.ColumnDefault; - -import java.util.List; @Entity @@ -41,6 +38,10 @@ public class Mission extends BaseEntity { // private List userMissions ; + @ManyToOne(fetch = FetchType.LAZY) + @JoinColumn(name = "store_id") + private Store store; + @ManyToOne(fetch = FetchType.LAZY) // 리뷸 테이블 N:1 관계 매핑 @JoinColumn(name = "review_id") private Review review; diff --git a/src/main/java/com/example/umc_9th/domain/mission/mapping/UserMission.java b/src/main/java/com/example/umc_9th/domain/mission/mapping/UserMission.java index 3f2a07c..170a2b5 100644 --- a/src/main/java/com/example/umc_9th/domain/mission/mapping/UserMission.java +++ b/src/main/java/com/example/umc_9th/domain/mission/mapping/UserMission.java @@ -1,8 +1,8 @@ package com.example.umc_9th.domain.mission.mapping; -import com.example.umc_9th.domain.member.Member; -import com.example.umc_9th.domain.mission.Mission; +import com.example.umc_9th.domain.member.entity.Member; +import com.example.umc_9th.domain.mission.entity.Mission; import jakarta.persistence.*; import lombok.*; import org.hibernate.annotations.ColumnDefault; diff --git a/src/main/java/com/example/umc_9th/domain/mission/repository/RegionMissionRepository.java b/src/main/java/com/example/umc_9th/domain/mission/repository/RegionMissionRepository.java new file mode 100644 index 0000000..06b84bb --- /dev/null +++ b/src/main/java/com/example/umc_9th/domain/mission/repository/RegionMissionRepository.java @@ -0,0 +1,33 @@ +package com.example.umc_9th.domain.mission.repository; + +import com.example.umc_9th.domain.mission.entity.Mission; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; + +public interface RegionMissionRepository extends JpaRepository { + + + //4. 홈 화면 쿼리 + //(현재 선택 된 지역에서 도전이 가능한 미션 목록, 페이징 포함) + + + //1. 미션 테이블 통해서 가게 테이블 -> 지역 테이블 -> 세부지역 테이블 미션이 해당 + + // WHERE r.id = :regionId 는 자리표시자로 값 비교 + @Query(value = """ + SELECT m FROM Mission m + JOIN FETCH m.store s + JOIN FETCH s.region r + JOIN FETCH r.subRegion sr + WHERE r.id = :regionId + """, + countQuery = "SELECT count(m) FROM Mission m JOIN m.store s WHERE s.region.id = :regionId") + Page findMissionsByRegion( + @Param("regionId") Long regionId, + Pageable pageable + ); + +} diff --git a/src/main/java/com/example/umc_9th/domain/mission/repository/UserMissionRepository.java b/src/main/java/com/example/umc_9th/domain/mission/repository/UserMissionRepository.java new file mode 100644 index 0000000..576a720 --- /dev/null +++ b/src/main/java/com/example/umc_9th/domain/mission/repository/UserMissionRepository.java @@ -0,0 +1,25 @@ +package com.example.umc_9th.domain.mission.repository; + +import com.example.umc_9th.domain.mission.mapping.UserMission; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; + +public interface UserMissionRepository extends JpaRepository { + + + //3.내가 진행중, 진행 완료한 미션 모아서 보는 쿼리(페이징 포함) + + // join fetch : um과 연관된 mission 엔티티 정보까지 가져옴 (N+1) 문제 해결합니다 + @Query(value="SELECT um from UserMission um join fetch um.mission m"+ + // um의 멤버필드에 있는 id가 memgerId이름의 필드를 가져옴 + " where um.member.memberId=:memberId", + // 페이징 처리를 위해 전체 데이터가 몇 개인지 계산하는 쿼리 지정합니다 + countQuery = " SELECT count(um) FROM UserMission um WHERE um.member.memberId = :memberId") + PagefindMyMission(@Param("memberId") Long memberId, Pageable pageable); + + + +} \ No newline at end of file diff --git a/src/main/java/com/example/umc_9th/domain/region/Region.java b/src/main/java/com/example/umc_9th/domain/region/entity/Region.java similarity index 85% rename from src/main/java/com/example/umc_9th/domain/region/Region.java rename to src/main/java/com/example/umc_9th/domain/region/entity/Region.java index 8ec6992..b8e2305 100644 --- a/src/main/java/com/example/umc_9th/domain/region/Region.java +++ b/src/main/java/com/example/umc_9th/domain/region/entity/Region.java @@ -1,7 +1,6 @@ -package com.example.umc_9th.domain.region; +package com.example.umc_9th.domain.region.entity; -import com.example.umc_9th.domain.member.Agree; -import com.example.umc_9th.domain.member.Member; +import com.example.umc_9th.domain.member.entity.Member; import com.example.umc_9th.grobal.BaseEntity; import jakarta.persistence.*; import lombok.*; diff --git a/src/main/java/com/example/umc_9th/domain/region/SubRegion.java b/src/main/java/com/example/umc_9th/domain/region/entity/SubRegion.java similarity index 91% rename from src/main/java/com/example/umc_9th/domain/region/SubRegion.java rename to src/main/java/com/example/umc_9th/domain/region/entity/SubRegion.java index 7f000e5..1830d5f 100644 --- a/src/main/java/com/example/umc_9th/domain/region/SubRegion.java +++ b/src/main/java/com/example/umc_9th/domain/region/entity/SubRegion.java @@ -1,4 +1,4 @@ -package com.example.umc_9th.domain.region; +package com.example.umc_9th.domain.region.entity; import com.example.umc_9th.grobal.BaseEntity; diff --git a/src/main/java/com/example/umc_9th/domain/review/controller/ReviewController.java b/src/main/java/com/example/umc_9th/domain/review/controller/ReviewController.java new file mode 100644 index 0000000..47b5a96 --- /dev/null +++ b/src/main/java/com/example/umc_9th/domain/review/controller/ReviewController.java @@ -0,0 +1,31 @@ +package com.example.umc_9th.domain.review.controller; + +import com.example.umc_9th.domain.review.entity.Review; +import com.example.umc_9th.domain.review.service.ReviewQueryService; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@RestController +@RequiredArgsConstructor +public class ReviewController { + + private final ReviewQueryService reviewQueryService; + + @GetMapping("/members/{memberId}/reviews/search") + public List searchMyReview( + // 경로에서 memberId를 받음 + @PathVariable Long memberId, + + @RequestParam(required = false) Long storeId, + @RequestParam(required = false) Integer rating + ) { + // 서비스로 memberId를 포함하여 전달 + return reviewQueryService.searchMyReviews(memberId, storeId, rating); + } + +} diff --git a/src/main/java/com/example/umc_9th/domain/review/OwnerComment.java b/src/main/java/com/example/umc_9th/domain/review/entity/OwnerComment.java similarity index 83% rename from src/main/java/com/example/umc_9th/domain/review/OwnerComment.java rename to src/main/java/com/example/umc_9th/domain/review/entity/OwnerComment.java index 6e6276a..d24fef7 100644 --- a/src/main/java/com/example/umc_9th/domain/review/OwnerComment.java +++ b/src/main/java/com/example/umc_9th/domain/review/entity/OwnerComment.java @@ -1,7 +1,6 @@ -package com.example.umc_9th.domain.review; +package com.example.umc_9th.domain.review.entity; -import com.example.umc_9th.domain.member.Member; import jakarta.persistence.*; import lombok.*; diff --git a/src/main/java/com/example/umc_9th/domain/review/Review.java b/src/main/java/com/example/umc_9th/domain/review/entity/Review.java similarity index 79% rename from src/main/java/com/example/umc_9th/domain/review/Review.java rename to src/main/java/com/example/umc_9th/domain/review/entity/Review.java index 72cded3..d001c19 100644 --- a/src/main/java/com/example/umc_9th/domain/review/Review.java +++ b/src/main/java/com/example/umc_9th/domain/review/entity/Review.java @@ -1,14 +1,12 @@ -package com.example.umc_9th.domain.review; +package com.example.umc_9th.domain.review.entity; -import com.example.umc_9th.domain.member.Member; -import com.example.umc_9th.domain.mission.Mission; +import com.example.umc_9th.domain.member.entity.Member; +import com.example.umc_9th.domain.store.Store; import com.example.umc_9th.grobal.BaseEntity; import jakarta.persistence.*; import lombok.*; -import java.util.List; - @Entity @Getter @Builder @@ -33,7 +31,9 @@ public class Review extends BaseEntity { private Member member; - + @ManyToOne(fetch = FetchType.LAZY) + @JoinColumn(name = "shop_id") + private Store store; //양방향 고려 diff --git a/src/main/java/com/example/umc_9th/domain/review/ReviewImage.java b/src/main/java/com/example/umc_9th/domain/review/entity/ReviewImage.java similarity index 90% rename from src/main/java/com/example/umc_9th/domain/review/ReviewImage.java rename to src/main/java/com/example/umc_9th/domain/review/entity/ReviewImage.java index 1433be5..55a3e49 100644 --- a/src/main/java/com/example/umc_9th/domain/review/ReviewImage.java +++ b/src/main/java/com/example/umc_9th/domain/review/entity/ReviewImage.java @@ -1,4 +1,4 @@ -package com.example.umc_9th.domain.review; +package com.example.umc_9th.domain.review.entity; import jakarta.persistence.*; diff --git a/src/main/java/com/example/umc_9th/domain/review/repository/ReviewQueryDsl.java b/src/main/java/com/example/umc_9th/domain/review/repository/ReviewQueryDsl.java new file mode 100644 index 0000000..530af91 --- /dev/null +++ b/src/main/java/com/example/umc_9th/domain/review/repository/ReviewQueryDsl.java @@ -0,0 +1,15 @@ +package com.example.umc_9th.domain.review.repository; + +import com.example.umc_9th.domain.review.entity.Review; +import com.querydsl.core.types.Predicate; + +import java.util.List; + +public interface ReviewQueryDsl { + + //api 내 리뷰 보기 + ListfindMyReviews(Long memberId, Long storeId,Integer rating ); + + + +} diff --git a/src/main/java/com/example/umc_9th/domain/review/repository/ReviewQueryDslImpl.java b/src/main/java/com/example/umc_9th/domain/review/repository/ReviewQueryDslImpl.java new file mode 100644 index 0000000..85958b3 --- /dev/null +++ b/src/main/java/com/example/umc_9th/domain/review/repository/ReviewQueryDslImpl.java @@ -0,0 +1,53 @@ +package com.example.umc_9th.domain.review.repository; + +import com.example.umc_9th.domain.review.entity.QReview; +import com.example.umc_9th.domain.review.entity.Review; +import com.querydsl.core.types.dsl.BooleanExpression; +import com.querydsl.jpa.impl.JPAQueryFactory; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Repository; + +import java.util.List; + +@Repository +@RequiredArgsConstructor +public class ReviewQueryDslImpl implements ReviewQueryDsl { + + + // global에서 수동으로 Bean 등록 + private final JPAQueryFactory queryFactory; + // Q 클래스 만들기 + private final QReview review= QReview.review; + + + @Override + public List findMyReviews(Long memberId, Long storeId, Integer rating ) { + + return queryFactory + .selectFrom(review) + // Member 와 review 패치 조인 + .join(review.member).fetchJoin() + .join(review.store).fetchJoin() + .where( + // 내가 쓴 리뷰 찾기 + review.member.memberId.eq(memberId), + // 가게별 필터 + //.store.id.eq(storeId), + storeIdEq(storeId), + // 별점별 필터 + ratingEq(rating) +// review.rating.eq(rating) + ) + .fetch(); + } + + // 가게 id 있는지 확인 (리팩토링 메서드) + private BooleanExpression storeIdEq(Long storeId) { + return storeId != null ? review.store.id.eq(storeId) : null; + } + private BooleanExpression ratingEq(Integer rating) { + return rating != null ? review.rating.eq(rating) : null; + } + + +} diff --git a/src/main/java/com/example/umc_9th/domain/review/repository/ReviewRepository.java b/src/main/java/com/example/umc_9th/domain/review/repository/ReviewRepository.java new file mode 100644 index 0000000..48a5718 --- /dev/null +++ b/src/main/java/com/example/umc_9th/domain/review/repository/ReviewRepository.java @@ -0,0 +1,35 @@ +package com.example.umc_9th.domain.review.repository; + +import com.example.umc_9th.domain.member.entity.Member; +import com.example.umc_9th.domain.review.entity.Review; +import com.example.umc_9th.domain.store.Store; +import org.springframework.data.jpa.repository.EntityGraph; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.Optional; + +public interface ReviewRepository extends JpaRepository,ReviewQueryDsl { + + + //2. 리뷰 작성하는 쿼리, + //* 사진의 경우는 일단 배제 + //(메서드 생성 방식 권장) + // id로 리뷰 조횔 할 떄 member도 같이 조회 + // 리뷰 조회할 떄 member 엔티티도 같이 가져오게 하는 에노테이션 = @EntityGraph + @EntityGraph(attributePaths = {"member"}) + Optional findById(Long id); + // Member와 Store를 기준으로 Review 조회 + boolean existsByMemberAndStore(Member member, Store store); + + + + + + + + + + + + +} diff --git a/src/main/java/com/example/umc_9th/domain/review/service/ReviewQueryService.java b/src/main/java/com/example/umc_9th/domain/review/service/ReviewQueryService.java new file mode 100644 index 0000000..8896982 --- /dev/null +++ b/src/main/java/com/example/umc_9th/domain/review/service/ReviewQueryService.java @@ -0,0 +1,22 @@ +package com.example.umc_9th.domain.review.service; + +import com.example.umc_9th.domain.review.entity.Review; +import com.example.umc_9th.domain.review.repository.ReviewRepository; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +@Service +@RequiredArgsConstructor +@Transactional +public class ReviewQueryService { + + private final ReviewRepository reviewRepository; + + public List searchMyReviews(Long memberId, Long storeId, Integer rating) { + return reviewRepository.findMyReviews(memberId, storeId, rating); + } + +} diff --git a/src/main/java/com/example/umc_9th/domain/store/Store.java b/src/main/java/com/example/umc_9th/domain/store/Store.java index dacfcec..d3634b2 100644 --- a/src/main/java/com/example/umc_9th/domain/store/Store.java +++ b/src/main/java/com/example/umc_9th/domain/store/Store.java @@ -1,15 +1,11 @@ package com.example.umc_9th.domain.store; -import com.example.umc_9th.domain.mission.Mission; -import com.example.umc_9th.domain.region.Region; -import com.example.umc_9th.domain.review.ReviewImage; +import com.example.umc_9th.domain.region.entity.Region; import com.example.umc_9th.domain.store.mapping.FoodCategory; import com.example.umc_9th.grobal.BaseEntity; import jakarta.persistence.*; import lombok.*; -import java.util.List; - @Entity @Getter @Builder @@ -40,4 +36,7 @@ public class Store extends BaseEntity { private Region region; + + + } diff --git a/src/main/java/com/example/umc_9th/domain/store/mapping/MemberFoodCategory.java b/src/main/java/com/example/umc_9th/domain/store/mapping/MemberFoodCategory.java index d70d43a..56c9cd8 100644 --- a/src/main/java/com/example/umc_9th/domain/store/mapping/MemberFoodCategory.java +++ b/src/main/java/com/example/umc_9th/domain/store/mapping/MemberFoodCategory.java @@ -1,7 +1,7 @@ package com.example.umc_9th.domain.store.mapping; -import com.example.umc_9th.domain.member.Member; +import com.example.umc_9th.domain.member.entity.Member; import jakarta.persistence.*; import lombok.*; diff --git a/src/main/java/com/example/umc_9th/grobal/QuerydslConfig.java b/src/main/java/com/example/umc_9th/grobal/QuerydslConfig.java new file mode 100644 index 0000000..20e7dbd --- /dev/null +++ b/src/main/java/com/example/umc_9th/grobal/QuerydslConfig.java @@ -0,0 +1,20 @@ +package com.example.umc_9th.grobal; + +import com.querydsl.jpa.impl.JPAQueryFactory; +import jakarta.persistence.EntityManager; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class QuerydslConfig { + + //JPAQueryFactory 생성될 때 Spring Bean 으로 등록 + @Bean + public JPAQueryFactory jpaQueryFactory(EntityManager entityManager) { + return new JPAQueryFactory(entityManager); + } + + + + +} diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 98447bd..920c008 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -13,7 +13,7 @@ spring: database-platform: org.hibernate.dialect.MySQLDialect # show-sql: true # hibernate: - ddl-auto: create # + ddl-auto: create-drop # properties: hibernate: format_sql: true # \ No newline at end of file