2311061111/src/main/java/com/vibevault/model/Song.java
VibeVault User d6a4bd92e6
Some checks failed
autograde-final-vibevault / check-trigger (push) Successful in 12s
autograde-final-vibevault / grade (push) Failing after 43s
完成作业
2025-12-14 01:10:20 +08:00

67 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;
@Column(nullable = false)
private String title;
@Column(nullable = false)
private String artist;
@Column(nullable = false)
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;
}
}