我正在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;
}
}
答案 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。