【发布时间】:2021-05-17 04:17:14
【问题描述】:
大家下午好。
我从 Spring JSON 和 API Rest 开始,我正在做我的第一次练习,它包含一个带播放列表的 REST API,如下所示:
{
"name":"Lista 1",
"description": "Lista de canciones de Spotify",
“songs”:
[
{
"title": "",
"artist": "",
"album": "",
"year": ""
},
{
"title": "",
"artist": "" ,
"album": "",
"year": ""
},
… ]
}
为了练习,我想在 BD 中为这个 JSON 创建一个表,所以我创建了我的实体(我不知道我使用 POJO 是否正确):
package com.example.api.songs.entity;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity(name = "songs_list")
public class SongsList {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
private Integer id;
@Column(name = "name")
private String name;
@Column(name = "description")
private String description;
@Column(name = "songs")
private List<Songs> songs;
public class Songs {
public String title;
public String artist;
public String album;
public int year;
}
}
现在我想使用 JPA 和 spring.jpa.hibernate.ddl-auto = create 开始我的表,但我对歌曲字段有疑问,因为它是一个多维数组。起初我会想到这样的事情,但我不知道这样做是否正确:
CREATE TABLE LIST_SONGS (
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
DESCRIPTION VARCHAR(50) NOT NULL,
SONGS VARCHAR[][][]
);
或者您是否建议创建 2 个单独的实体?
【问题讨论】:
标签: json postgresql spring-boot hibernate jpa