Hibernate——Annotation

·在实体类上注解@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,则:
·在插入时,会自动插入与拥有方存在关系的数据;
·在读取时,若未用到被拥有方,则不会取出,否则会自动取出被拥有方;
·在更新时,若修改拥有方,则会自动删除原拥有方与被拥有方之间的关系,但不会重新生成关系;
·在更新时,若修改被拥有方,则只修改被拥有方的属性,不会修改关系;
·在删除时,若删除拥有方,则会自动删除拥有方与被拥有方之间的关系,但不会删除被拥有方
·在删除时,若删除被拥有方,则会报错,因为存在着外键的引用

阅读更多
版权声明:本文为博主原创文章,可随意转载,但请注明出处! https://blog.csdn.net/u012325167/article/details/49948663
文章标签: hibernate
个人分类: Hibernate
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭