-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Tag 테이블 구현. ReviewTag 테이블 구현 연관 관계 매핑 등.. 추가 설정 필요
- Loading branch information
Showing
7 changed files
with
118 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
28 changes: 28 additions & 0 deletions
28
src/main/java/com/codestates/server/tag/entity/ReviewTag.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
package com.codestates.server.tag.entity; | ||
|
||
import com.codestates.server.review.entity.Review; | ||
import lombok.*; | ||
|
||
import javax.persistence.*; | ||
|
||
@Entity | ||
@AllArgsConstructor | ||
@NoArgsConstructor | ||
@Getter | ||
@Setter | ||
public class ReviewTag { | ||
@Id | ||
@GeneratedValue(strategy = GenerationType.IDENTITY) | ||
private Long id; | ||
|
||
@ManyToOne | ||
@JoinColumn(name = "review_id") | ||
private Review review; | ||
|
||
@ManyToOne //(targetEntity = Tag.class, fetch = FetchType.LAZY) | ||
@JoinColumn(name = "tag_id", insertable = false, updatable = false) | ||
private Tag tag; | ||
|
||
@Column(name = "tag_id") | ||
private String tagId; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
package com.codestates.server.tag.entity; | ||
|
||
import lombok.AllArgsConstructor; | ||
import lombok.NoArgsConstructor; | ||
|
||
import javax.persistence.Entity; | ||
import javax.persistence.Id; | ||
|
||
@Entity | ||
@AllArgsConstructor | ||
@NoArgsConstructor | ||
public class Tag { | ||
@Id | ||
private String id; | ||
} |
11 changes: 11 additions & 0 deletions
11
src/main/java/com/codestates/server/tag/repository/ReviewTagRepository.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
package com.codestates.server.tag.repository; | ||
|
||
import com.codestates.server.tag.entity.ReviewTag; | ||
import org.springframework.data.jpa.repository.JpaRepository; | ||
import org.springframework.stereotype.Repository; | ||
|
||
import java.beans.JavaBean; | ||
|
||
@Repository | ||
public interface ReviewTagRepository extends JpaRepository<ReviewTag, Long> { | ||
} |
7 changes: 7 additions & 0 deletions
7
src/main/java/com/codestates/server/tag/repository/TagRepository.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
package com.codestates.server.tag.repository; | ||
|
||
import com.codestates.server.tag.entity.Tag; | ||
import org.springframework.data.jpa.repository.JpaRepository; | ||
|
||
public interface TagRepository extends JpaRepository<Tag, String> { | ||
} |
27 changes: 27 additions & 0 deletions
27
src/main/java/com/codestates/server/tag/service/ReviewTagService.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
package com.codestates.server.tag.service; | ||
|
||
import com.codestates.server.review.entity.Review; | ||
import com.codestates.server.tag.entity.ReviewTag; | ||
import com.codestates.server.tag.repository.ReviewTagRepository; | ||
import org.springframework.beans.factory.annotation.Autowired; | ||
import org.springframework.stereotype.Service; | ||
import org.springframework.transaction.annotation.Transactional; | ||
|
||
import java.util.Set; | ||
|
||
@Service | ||
public class ReviewTagService { | ||
@Autowired | ||
ReviewTagRepository reviewTagRepository; | ||
|
||
@Transactional | ||
public void addReviewTag(Review review, Set<String> tags) { | ||
for (String tag : tags) { | ||
ReviewTag reviewTag = new ReviewTag(); | ||
reviewTag.setReview(review); | ||
reviewTag.setTagId(tag); | ||
|
||
reviewTagRepository.save(reviewTag); | ||
} | ||
} | ||
} |
28 changes: 28 additions & 0 deletions
28
src/main/java/com/codestates/server/utils/DataInitializer.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
package com.codestates.server.utils; | ||
|
||
import com.codestates.server.tag.entity.Tag; | ||
import com.codestates.server.tag.repository.TagRepository; | ||
import org.springframework.beans.factory.annotation.Autowired; | ||
import org.springframework.boot.CommandLineRunner; | ||
import org.springframework.stereotype.Component; | ||
|
||
import java.util.Arrays; | ||
import java.util.List; | ||
import java.util.stream.Collectors; | ||
|
||
@Component | ||
public class DataInitializer implements CommandLineRunner { | ||
|
||
@Autowired | ||
TagRepository tagRepository; | ||
|
||
@Override | ||
public void run(String... args) throws Exception { | ||
List<String> tags = Arrays.asList("재미있어요", "감동적이에요", "스릴 넘쳐요", "웃겨요", "눈물나는", "설레는", "몰입도 높은", "예술적인", "생각할 거리가 있는", "인상 깊은"); | ||
List<Tag> tagEntities = tags.stream() | ||
.map(Tag::new) | ||
.collect(Collectors.toList()); | ||
|
||
tagRepository.saveAll(tagEntities); | ||
} | ||
} |