final-vibevault-tests/src/main/java/com/vibevault/model/Song.java
mh04194357 699b5fafbe
Some checks failed
autograde-final-vibevault / check-trigger (push) Successful in 12s
autograde-final-vibevault / grade (push) Failing after 45s
完成作业:实现VibeVault后端全部功能
2025-12-23 12:35:48 +08:00

64 lines
1.2 KiB
Java

package com.vibevault.model;
import jakarta.persistence.*;
/**
* 歌曲实体类
*
* 需要实现:
* - 将此类映射为数据库表 "songs"
* - id 作为自增主键
* - 每首歌曲属于一个歌单(多对一关系)
*/
@Entity
@Table(name = "songs")
public class Song {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String title;
private String artist;
private int durationInSeconds;
@ManyToOne
@JoinColumn(name = "playlist_id")
private Playlist playlist;
public Song() {
}
public Song(String title, String artist, int durationInSeconds) {
this.title = title;
this.artist = artist;
this.durationInSeconds = durationInSeconds;
}
public Long getId() {
return id;
}
public String getTitle() {
return title;
}
public String getArtist() {
return artist;
}
public int getDurationInSeconds() {
return durationInSeconds;
}
public Playlist getPlaylist() {
return playlist;
}
public void setPlaylist(Playlist playlist) {
this.playlist = playlist;
}
}