配置1:
<set name="BANDS" table="S_BAND" inverse="false" cascade="save-update">
<key column="COMPANY_ID" />
<one-to-many class="saleandbuy.module.entity.SBand" />
</set>
java :
SCompany c = (SCompany) s.get(SCompany.class, new Long("22"));
s.delete(c);
s.beginTransaction().commit();
結果1:
2011-06-20 12:25:14,562 [org.hibernate.SQL]-[DEBUG]
update
S_BAND
set
COMPANY_ID=null
where
COMPANY_ID=?
Hibernate:
update
S_BAND
set
COMPANY_ID=null
where
COMPANY_ID=?
2011-06-20 12:25:14,562 [org.hibernate.SQL]-[DEBUG]
delete
from
S_COMPANY
where
COMPANY_ID=?
Hibernate:
delete
from
S_COMPANY
where
COMPANY_ID=?
配置2:
<set name="BANDS" table="S_BAND" cascade="delete">
<key column="COMPANY_ID" />
<one-to-many class="saleandbuy.module.entity.SBand" />
</set>
結果2:
2011-06-20 12:37:43,390 [org.hibernate.SQL]-[DEBUG]
update
S_BAND
set
COMPANY_ID=null
where
COMPANY_ID=?
Hibernate:
update
S_BAND
set
COMPANY_ID=null
where
COMPANY_ID=?
2011-06-20 12:37:43,390 [org.hibernate.SQL]-[DEBUG]
delete
from
S_BAND
where
BAND_ID=?
Hibernate:
delete
from
S_BAND
where
BAND_ID=?
2011-06-20 12:37:43,390 [org.hibernate.SQL]-[DEBUG]
delete
from
S_COMPANY
where
COMPANY_ID=?
Hibernate:
delete
from
S_COMPANY
where
COMPANY_ID=?
配置3:
<set name="BANDS" table="S_BAND" inverse="true" cascade="save-update">
<key column="COMPANY_ID" />
<one-to-many class="saleandbuy.module.entity.SBand" />
</set>
結果3:
2011-06-20 12:44:21,921 [org.hibernate.SQL]-[DEBUG]
delete
from
S_COMPANY
where
COMPANY_ID=?
Hibernate:
delete
from
S_COMPANY
where
COMPANY_ID=?