generated from Java-2025Fall/final-vibevault-template
67 lines
1.2 KiB
Java
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;
|
|
}
|
|
}
|