diff --git a/music-houduan/pom.xml b/music-houduan/pom.xml
index da190c4..44afb67 100644
--- a/music-houduan/pom.xml
+++ b/music-houduan/pom.xml
@@ -33,12 +33,12 @@
-
-
-
-
-
-
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+ true
+
diff --git a/music-houduan/src/main/java/com/test/musichouduan/service/impl/PlaylistServiceImpl.java b/music-houduan/src/main/java/com/test/musichouduan/service/impl/PlaylistServiceImpl.java
index 60630d9..6404b26 100644
--- a/music-houduan/src/main/java/com/test/musichouduan/service/impl/PlaylistServiceImpl.java
+++ b/music-houduan/src/main/java/com/test/musichouduan/service/impl/PlaylistServiceImpl.java
@@ -90,10 +90,16 @@ public class PlaylistServiceImpl implements PlaylistService {
// 构建查询条件
Specification spec = (root, query, cb) -> {
List predicates = new ArrayList<>();
+ query.distinct(true); // 添加 distinct 查询
// 关键字查询
if (StringUtils.hasText(keyword)) {
- predicates.add(cb.like(root.get("name"), "%" + keyword + "%"));
+ // 搜索歌单名、描述、创建者用户名以及歌单内的音乐名
+ Predicate p1 = cb.like(root.get("name"), "%" + keyword + "%");
+ Predicate p2 = cb.like(root.get("description"), "%" + keyword + "%");
+ Predicate p3 = cb.like(root.join("creator").get("username"), "%" + keyword + "%");
+ Predicate p4 = cb.like(root.join("musics", jakarta.persistence.criteria.JoinType.LEFT).get("name"), "%" + keyword + "%");
+ predicates.add(cb.or(p1, p2, p3, p4));
}
// 类型查询
diff --git a/music-qianduan/src/views/Playlist.vue b/music-qianduan/src/views/Playlist.vue
index fa6f9c9..848acf0 100644
--- a/music-qianduan/src/views/Playlist.vue
+++ b/music-qianduan/src/views/Playlist.vue
@@ -243,7 +243,7 @@ onMounted(() => {
-