Hibernate注释。如何注释?

时间:2015-02-24 14:46:31

标签: java hibernate

我正在Java EE中创建一个小型库项目。我创建了3个表和类,包括作者,流派和书籍。现在我正在尝试使用hibernate连接它,但我还没有想到如何混淆注释...请帮助我:))

bookTable:

| id_book | author_id |标题| genre_id |描述|照片|

genreTable:

| 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;
    }

}

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

这是实体而且没有pojos,但到目前为止它们看起来很好。对他们来说,你通常不需要照顾。最好的方法是,在将项目与数据库连接后自动生成它们。 Hibernate会照顾好一切。更有趣的是你的DAO看起来如何,bcz。这是与数据库的层通信。该实体仅是Java端数据库表的表示形式。 I guess you already connected your project with the database? 请提供您的数据库访问对象(DAO)以获得进一步的帮助。如果到目前为止还没有here you can get help