2012-07-27 303 views
0

在一對一映射中,我編寫了以下幾行代碼。OnetoOne休眠映射

什麼是@Parameter(名稱= 「屬性」,值= 「後」)意義。如果我不寫那條線,我得到一個錯誤

調用init方法失敗;嵌套異常是org.hibernate.MappingException:無法實例id生成[實體名= in.codejava.personal.model.Content]

EDIT

當我改變的值= 「POST」到其他任何東西,如價值=「post123」等工作。但是,當我完全刪除它時,它不起作用。部分代碼http://pastebin.com/CjEpqtXV

回答

2

它允許告訴生成器必須從哪個屬性中提取標識(在本例中爲「post」)。一個實體可以有多個OnetoOne關聯。你需要告訴它哪一個包含你實體的ID。

請注意,此生成器可以替換爲包含ID:的OneToOne關聯的標準JPA註釋。 Hibernate文檔recommends its usage而不是國外生成器。

+0

@ jn-nizet我將value =「post」更改爲value =「post1」。它仍然正常執行。怎麼樣? – 2012-07-27 18:26:29

+0

不知道。這看起來很奇怪。 – 2012-07-27 18:48:45

+0

我再次測試,但post1也工作。反正以下是代碼。你能幫我優化它嗎? http://pastebin.com/CjEpqtXV。只有幾行。提前致謝。 – 2012-07-27 19:16:56