前面说了Hibernate的单表映射,由于是实体类和数据表之间一对一的映射,所以比较简单。现在就来说说多表映射,这需要涉及到多个实体类和数据表之间的关系。因此稍微复杂一点。
建立实体类
我建立了两个实体类,一个作者类,一个文章类,其他方法都忽略了,就留下了注解。作者类如下:
@Entity
public class Author {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@NaturalId()
private String username;
@Column(nullable = false)
private String password;
@Column
private String nickname;
@Column(name = "register_time")
@Temporal(TemporalType.DATE)
private Date registerTime;
}
文章类如下:
@Entity
public class Article {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@Column
private String title;
@Column
@Lob
private String content;
@ManyToOne(targetEntity = Author.class)
@JoinColumn(foreignKey = @ForeignKey(name = "FK_AUTHOR_ID"))
private Author author;
@Column(name = "create_time")
@Temporal(TemporalType.TIMESTAMP)