2009-11-13 334 views
2

我得到的印象是,如果我們使用持久性字段,則不需要getter方法,因爲實體管理器直接引用實例變量。但是,當我從實體中刪除getter和setter方法以獲得持久字段時,相應實例變量的值不會從數據庫中檢索!java beans:持久性字段和持久性屬性之間的區別?

這是否意味着我們必須有getter和setter方法,即使我們有持久性字段?

+1

你應該投了你喜歡的答案,選擇最佳答案,如果任何與我使用的是Oracle TopLink的問題 – 2009-11-30 13:17:10

回答

3

如果實體類使用持久性,Persistence字段將直接在運行時訪問實體類實例變量。

雖然在持久性屬性上,每個屬性都有一個getter和setter方法。

你說什麼應該在冬眠。

A link about it

0

你沒有提到你正在使用的JPA實現。 Hibernate肯定允許你直接訪問字段。但是,它不是默認設置,因此您必須在映射文件中指定access = field的行爲。 (註釋爲基礎的配置,我想你只需要直接註釋字段...)

0

這是什麼提供者?我希望它能起作用。無論如何,如果你的提供者需要這個方法,只需創建受保護的getter和setter方法作爲解決方法。

+0

幫你。 – abracadabra 2009-11-13 20:58:19