在实际博客网站中,文章内容的数据量非常多,它会影响我们检索文章其它数据的时间,如查询发布时间、标题、类别的等。这个时候,我们可以尝试将文章内容存在另一张表中,然后建立起文章——文章内容的一对一映射
一对一关联有两种方式,一种是外键关联,另一种是复合主键关联。
外键关联
下面我们先看一个一对一单向关联的实例
/*************关联关系维护方************/
@Table(name = "t_article")
@Entity
public class Article {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;
private String title;
@OneToOne(cascade = CascadeType.ALL,fetch = FetchType.LAZY,orphanRemoval = true,targetEntity = ArticleContent.class)
@JoinColumn(name = "article_content_id")
private ArticleContent articleContent;
//忽略get和set方法
}
下面是我们的文章内容类
@Table(name = "t_article_content")
@Entity
public class ArticleContent {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;
@Lob
private String content;
//忽略get和set方法
}
下面是我们的测试类
public class Test3 {
private ApplicationContext ac;
private SessionFactory sessionFactory;
private Session session;
private Transaction transaction;
@BeforeClass//在测试类初始化时调用此方法,完成静态对象的初始化
public static void