不同數據庫 自增長ID配置
正對不同的數據庫可以同時使用
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
2 針對mysql
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
3 針對oracle
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE,generator="s_gen")
@SequenceGenerator(name="s_gen",sequenceName="s_seq")
無關聯表 關聯查詢配置
name 是當前實體 屬性 referencedColumnName 是與之關聯的實體 屬性
fetch=FetchType.LAZY)延遲加載關聯表 不要亂用 有時候要爆胎
@ManyToOne(targetEntity=UnitOrganizations.class,fetch=FetchType.LAZY)
@JoinColumn(name="org_Id",referencedColumnName="id",updatable=false,insertable=false)
public UnitOrganizations getOrganizations() {
return organizations;
}
建議在一多對關聯中在"一"方用延遲加載"多"方
可以在HQL中顯式的"迫切左外連接" left join fetch
這樣做Hibernate可以少訪問數據庫,也可以用"@BatchSize(size = 5)"來減少訪問數據庫的次數