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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值