Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 尝试保存艺术家实体时出现BeanInstationException错误_Java_Spring_Jpa - Fatal编程技术网

Java 尝试保存艺术家实体时出现BeanInstationException错误

Java 尝试保存艺术家实体时出现BeanInstationException错误,java,spring,jpa,Java,Spring,Jpa,org.springframework.beans.factory.BeanCreationException:错误 创建文件中定义了名为“艺术家”的bean 原因:org.springframework.beans.beanstantiationException:未能实例化[com.musicreview.model.Artist]:未找到默认构造函数; 原因:java.lang.NoSuchMethodException:com.musicreview.model.Artist。() @实

org.springframework.beans.factory.BeanCreationException:错误 创建文件中定义了名为“艺术家”的bean 原因:org.springframework.beans.beanstantiationException:未能实例化[com.musicreview.model.Artist]:未找到默认构造函数; 原因:java.lang.NoSuchMethodException:com.musicreview.model.Artist。()

@实体
@存储库
@资料
@NoArgsConstructor(力=真)
公共级艺术家{
@身份证
@GeneratedValue(策略=GenerationType.AUTO)
私人长id;
@列(name=“artist\u firstname”)
私人弦乐艺术家_firstname;
@列(name=“artist\u secondname”)
私人字符串艺术家_secondname;
@列(name=“artist\u昵称”)
私人弦乐艺术家的昵称;
@ManyToMany(fetch=FetchType.LAZY,cascade={CascadeType.PERSIST,CascadeType.MERGE})
@JoinTable(name=“artist\u recordlabel”,joinColumns=@JoinColumn(name=“artist\u id”),
inverseJoinColumns=@JoinColumn(name=“label\u id”))
专用记录标签;
@ManyToMany(fetch=FetchType.LAZY,cascade={CascadeType.PERSIST,CascadeType.MERGE})
@JoinTable(name=“artist\u musicrease”,joinColumns=@JoinColumn(name=“artist\u id”),
inverseJoinColumns=@JoinColumn(name=“musicrelease\u id”))
私人音乐集;
公共艺术家(弦乐艺术家的名字、弦乐艺术家的第二个名字、弦乐艺术家的昵称){
this.artist_firstname=artist_firstname;
this.artist\u secondname=artist\u secondname;
this.artist\u昵称=artist\u昵称;
}
}
--表:艺术家
创建桌面艺术家(
id INT NOT NULL自动递增主键,
艺术家_firstname VARCHAR(255)不为空,
Artister_secondname VARCHAR(255)不为空,
艺人昵称VARCHAR(255)不为空
)
引擎=InnoDB;
--表:艺术家
创建桌面艺术家(
id INT NOT NULL自动递增主键,
艺术家_firstname VARCHAR(255)不为空,
Artister_secondname VARCHAR(255)不为空,
艺人昵称VARCHAR(255)不为空
)
引擎=InnoDB;
--映射艺术家和标签的表格:艺术家\记录标签
创建桌面艺术家\u音乐租赁(
艺术家id INT不为空,
musicrelease_id INT不为空,
外键(艺术家id)引用艺术家(id),
外键(musicrelease_id)引用musicrelease(id),
唯一(艺术家id、音乐租赁id)
)
引擎=InnoDB;

我不知道有什么问题((

您需要在这里定义一个默认构造函数。 因为这里缺少默认构造函数,并且只定义了Arg构造函数

在代码中添加以下代码段以定义默认构造函数:

public Artist(){}

这将有望解决您的问题。

在JPA中,实体必须具有默认构造函数,才能从实体实例化对象,只需创建一个空构造函数,如下所示,您的问题就会得到解决

    public Artist(){//do nothing}

不客气。如果这是必需的解决方案,请投票表决我的答案。谢谢。不客气
    public Artist(){//do nothing}