Java 未知地图
我得到以下两个实体的关系之间的映射未知错误 这是一对一的关系,关系的所有者应该是故事实体。我看不出这段代码中有我的错误 这两个实体都有getter和setter 这是第一个实体:Java 未知地图,java,spring,hibernate,Java,Spring,Hibernate,我得到以下两个实体的关系之间的映射未知错误 这是一对一的关系,关系的所有者应该是故事实体。我看不出这段代码中有我的错误 这两个实体都有getter和setter 这是第一个实体: @Entity @Table(name = "story") public class Story { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Integer id; private String nam
@Entity
@Table(name = "story")
public class Story {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;
private String name;
private String link;
@OneToOne(mappedBy = "story", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
private DesignTechnique designTechnique;
public Story(){
}
public Story(String name, String link){
this.name = name;
this.link= link;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getLink() {
return link;
}
public void setLink(String link) {
this.link= link;
}
public DesignTechnique getDesignTechnique() {
return designTechnique;
}
public void setDesignTechnique(DesignTechnique designTechnique) {
this.designTechnique = designTechnique;
}
@Override
public String toString() {
return "UserStory{" +
"id=" + id +
", name='" + name + '\'' +
", link='" + link+ '\'' +
", designTechnique='" + designTechnique + '\'' +
'}';
}
}
这是第二个实体:
@Entity
@Table(name = "designTechnique")
public class DesignTechnique {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;
private String technique;
@OneToOne
@JoinColumn(name = "story_ID")
private Story story;
public DesignTechnique(){
}
public DesignTechnique(String technique){
this.technique = technique;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getTechnique() {
return technique;
}
public void setTechnique(String technique) {
this.technique = technique;
}
public Story getStory() {
return story;
}
public void setStory(Story story) {
this.story = story;
}
@Override
public String toString() {
return "TestdesignTechnique{" +
"id=" + id +
", technique='" + technique + '\'' +
", story='" + story+ '\'' +
'}';
}
}
编辑
堆栈跟踪:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.AnnotationException: Unknown mappedBy in: com.clusters.Model.Story.designTechnique, referenced property unknown: com.clusters.Model.DesignTechnique.story
编辑2
我尝试在设计实体中添加@PrimaryKeyJoinColumn而不是@JoinColumn,得到了相同的错误
我已经在这两个实体中生成了getter和setter。所以这些东西没有打字错误。可能是冬眠虫!!见此:
尝试更改您使用的hibernate版本。可能是hibernate错误!!见此:
尝试更改您使用的hibernate版本。您能发布完整的Stacktrace吗?@KernelPanic添加了错误尝试离开
mappedBy=“story”,
,或者更好,阅读javaDoc至mappedBy
@HerrDerb如果我理解正确,则需要mappedBy来判断双向关系中的所有者是谁,对吗,另一次尝试:)在你的desgintechnology
中,使用@PrimaryKeyJoinColumn
而不是@JoinColumn(name=“story\u ID”)
你能发布完整的堆栈跟踪吗?@mrkernelpanic添加了错误,尝试离开mappedBy=“story”,
,或者更好,阅读javaDoc tomappedBy
@HerrDerb如果我理解正确,mappedBy需要判断哪一个是双向关系中的所有者,请再次尝试:)在您的desgintechnology
中使用@PrimaryKeyJoinColumn
而不是@JoinColumn(name=“story\u ID”)