簡體   English   中英

一對一未知映射

[英]OnetoOne unknown mappedBy

我在以下兩個實體的關系之間遇到了一個不正確的mapdBy錯誤。

這是一對一關系,關系的所有者應該是Story實體。 我在這段代碼中看不到我的錯誤。

兩個實體都有吸氣劑和吸氣劑。

這是第一個實體:

@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。 因此,在這些方面沒有錯別字。

可能是一個休眠錯誤! 看到這個:

https://hibernate.atlassian.net/browse/HHH-5695

嘗試更改您使用的休眠版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM