我正在用Java EE开发一个小型图书馆项目。我创建了3个表格和类,其中包括作者,类型和书籍。现在,我正在尝试使用休眠方式连接它,但我还没有想到confire注释的方式……请帮助我:)

bookTable:

| id_book | author_id |标题| genre_id |说明|照片|

类型表:

| genre_id |体裁|

authorTable:

| author_id |作者|

结构简单:

bookTable.author_id-authorTable.author_id = ManyToMany

bookTable.genre_id-genreTable.genre_id = OneToOne

下面是我的pojo课:



@Entity
@Table(name = "books")
public class Book implements Serializable{

    private static final long serialVersionUID = -5057364006691079475L;

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "user_id")
    private Integer user_id;
    private Author author;
    private String description;
    private BookGenre genre;
    private String title;


    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public Integer getUser_id() {
        return user_id;
    }

    public void setUser_id(Integer user_id) {
        this.user_id = user_id;
    }

    public Author getAuthor() {
        return author;
    }

    public void setAuthor(Author author) {
        this.author = author;
    }

    public BookGenre getGenre() {
        return genre;
    }

    public void setGenre(BookGenre genre) {
        this.genre = genre;
    }

}


作者

@Entity
@Table(name = "author")
public class Author implements Serializable{

    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "author_id")
    private Integer author_id;

    @Column(name = "author")
    private String author;

    public Integer getAuthor_id() {
        return author_id;
    }

    public void setAuthor_id(Integer author_id) {
        this.author_id = author_id;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }
}


类型

@Entity
@Table(name = "genre")
public class BookGenre implements Serializable{

    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "genre_id")
    private Integer genreId;

    @Column(name = "genre")
    private String genre;


    public Integer getGenreId() {
        return genreId;
    }
    public void setGenreId(Integer genreId) {
        this.genreId = genreId;
    }
    public String getGenre() {
        return genre;
    }
    public void setGenre(String genre) {
        this.genre = genre;
    }

}

最佳答案

应该是单向还是双向关联?
看一下这个例子:

https://howtoprogramwithjava.com/hibernate-manytomany-unidirectional-bidirectional/

它甚至使用您的实体名称:)

07-26 04:24