產生此問題的緣由:ide
有兩張表,table1和table2.產生此問題的緣由就是table1裏作了關聯<one-to-one>或者<many-to-one unique="true">(特殊的多對一映射,實際就是一對一)來關聯table2.當hibernate查找的時候,table2裏的數據沒有與table1相匹配的,這樣就會報No row with the given identifier exists這個錯.(一句話,就是數據的問題!)spa
假如說,table1裏有自身的主鍵id1,還有table2的主鍵id2,這兩個字段.hibernate
若是hibenrate設置的單項關聯,即便table1中的id2爲null值,table2中id2中有值,查詢都不會出錯.可是若是table1中的id2字段有值,可是這個值在table2中主鍵值裏並無,就會報上面的錯!orm
若是hibernate是雙向關聯,那麼table1中的id2爲null值,可是table2中若是有值,就會報這個錯.這種狀況目前的解決辦法就是改爲單項關聯,或者把不對應的數據改對!it