关闭

Hibernate——Annotation

标签: hibernate
148人阅读 评论(0) 收藏 举报
分类:

·在实体类上注解@Entity(javax.persistence.Entity)
·在主键的getXXX()方法上注解@Id
·在hibernate.cfg.xml文件中配置:

<mapping class="实体类的全名" />

若使用Annotation的方式配置关系,则只需使用

new Configuration().configure().buildSessionFactory();

而不需要再使用addClass()方法(因为该方法是用于在使用XML的方式时引入*.hbm.xml文件的,代替了hibernate.cfg.xml中的)
【注意】:这是在Hibernate5下的写法,不同版本的Hibernate可能会不同。之前的一些版本会需要把Configuration()改为AnnotationConfiguration()

mappedBy:
·只有OneToOne,OneToMany,ManyToMany上才有mappedBy属性,ManyToOne不存在该属性。
·mappedBy标签一定是定义在被拥有方的,他指向拥有方。
·mappedBy的含义,应该理解为,拥有方能够自动维护跟被拥有方的关系

@ManyToMany:
·拥有方若指定为cascade = CascadeType.ALL,则:
·在插入时,会自动插入与拥有方存在关系的数据;
·在读取时,若未用到被拥有方,则不会取出,否则会自动取出被拥有方;
·在更新时,若修改拥有方,则会自动删除原拥有方与被拥有方之间的关系,但不会重新生成关系;
·在更新时,若修改被拥有方,则只修改被拥有方的属性,不会修改关系;
·在删除时,若删除拥有方,则会自动删除拥有方与被拥有方之间的关系,但不会删除被拥有方
·在删除时,若删除被拥有方,则会报错,因为存在着外键的引用

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:90303次
    • 积分:1689
    • 等级:
    • 排名:千里之外
    • 原创:76篇
    • 转载:0篇
    • 译文:4篇
    • 评论:15条
    文章分类
    最新评论