我正在用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/
它甚至使用您的实体名称:)