我試圖執行批量刪除對象,特徵,它與另一個類,FeaturesMetadata一個birdirectional多對一的關係。我有一個SQLGrammerException拋出。Hibernate的異常連接查詢
我使用的HQL:
String hql = "delete from Feature F where F.featuresMetadata.stateGeoId = :stateGeoId";
打開顯示SQL,生成如下:
delete from FEATURE cross join FEATURESMETADATA featuresme1_ where STATEGEOID=?
直接運行在SQL數據庫客戶端給出了這樣的例外:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'cross join FEATURESMETADATA featuresme1_ where stategeoid='01'' at line 1
由於生成的SQL被拋出異常,我試圖從MySQL5InnoDBDialect改變方言MySQLInnoDBDialect,但沒有改變。
任何人都可以協助嗎?
確實FeaturesMetaData有FK到功能? – Mindfulgeek
功能對特徵元數據具有FK。 – Jason