【发布时间】:2018-05-09 17:47:41
【问题描述】:
org.springframework.beans.factory.BeanCreationException: 错误 创建文件中定义的名称为“艺术家”的bean 引起:org.springframework.beans.BeanInstantiationException:无法实例化[com.musicreview.model.Artist]:未找到默认构造函数; 引起:java.lang.NoSuchMethodException: com.musicreview.model.Artist.()
@Entity
@Repository
@Data
@NoArgsConstructor(force = true)
public class Artist {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
@Column(name = "artist_firstname")
private String artist_firstname;
@Column(name = "artist_secondname")
private String artist_secondname;
@Column(name = "artist_nickname")
private String artist_nickname;
@ManyToMany (fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST, CascadeType.MERGE})
@JoinTable(name = "artist_recordlabel", joinColumns = @JoinColumn(name = "artist_id"),
inverseJoinColumns = @JoinColumn(name = "label_id"))
private Set<RecordLabel> recordLabels;
@ManyToMany (fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST, CascadeType.MERGE})
@JoinTable (name = "artist_musicrelease", joinColumns = @JoinColumn (name = "artist_id"),
inverseJoinColumns = @JoinColumn (name = "musicrelease_id"))
private Set <MusicRelease> musicReleaseSet;
public Artist(String artist_firstname, String artist_secondname, String artist_nickname) {
this.artist_firstname = artist_firstname;
this.artist_secondname = artist_secondname;
this.artist_nickname = artist_nickname;
}
}
-- Table: Artist
CREATE TABLE artist (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
artist_firstname VARCHAR(255) NOT NULL,
artist_secondname VARCHAR(255) NOT NULL,
artist_nickname VARCHAR(255) NOT NULL
)
ENGINE = InnoDB;
-- Table: Artist
CREATE TABLE artist (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
artist_firstname VARCHAR(255) NOT NULL,
artist_secondname VARCHAR(255) NOT NULL,
artist_nickname VARCHAR(255) NOT NULL
)
ENGINE = InnoDB;
-- Table for mapping artist and label: artist_recordlabel
CREATE TABLE artist_musicrelease (
artist_id INT NOT NULL,
musicrelease_id INT NOT NULL,
FOREIGN KEY (artist_id) REFERENCES artist (id),
FOREIGN KEY (musicrelease_id) REFERENCES musicrelease (id),
UNIQUE (artist_id, musicrelease_id)
)
ENGINE = InnoDB;
不知道有什么问题((
【问题讨论】: