Hibernate 几个常用的注解
做对象关联时,几个常用的属性配置,和含义:
cascade:
>>CascadeType.REFRESH:级联刷新,当多个用户同时作操作一个实体,为了用户取到的数据是实时的,在用实体中的数据之前就可以调用一下refresh()方法!
>>CascadeType.REMOVE:级联删除,当调用remove()方法删除实体时会先级联删除的相关数据!
>>CascadeType.MERGE:级联更新,当调用了Merge()方法,如果数据改变了会相应的更新子表中的数据,
>>CascadeType.ALL:包含以上所有级联属性。
>>CascadeType.PERSIST:级联保存,当调用了Persist() 方法,会级联保存相应的数据
optional:
>>optional=true表示该对象(Order)是可选的,对象可以不存在
>>值为false表示不可选即该对象必须存在,则在数据库中的外键就不能为null)
fetch:
FetchType.LAZY:延迟加载
FetchType.EAGER:急加载
@ManyToOne Default: FetchType.EAGER 默认是即时抓取 做连接 如果,fetch=FetchType.LAZY不是左联接 在需要One的时候直接select
@OneToMany Default: FetchType.LAZY 默认是延迟抓取 不需要左联接 如果是FetchType.EAGER 即时抓取 就会是左联接查询