2012-07-24 298 views
1

所以試圖充實一點...我有一個對象讓我們打電話給用戶,我想知道該用戶是否是員工。員工是他們自己的客體。所以我想要做的,而不是有一個僱員對象是有一個布爾值,告訴我該用戶是否是一名僱員。我認爲這可以通過某種形式的只讀連接來完成?在JPA中,如果行存在,我可以只讀布爾值嗎?

+0

只讀加入?你的數據庫是什麼樣的?你可以改變它嗎? (也就是說,你可以只添加一個布爾列到用戶表) – Thor84no 2012-07-24 12:24:26

+0

不......我只想要一個布爾值如果一行存在......基本上我組成了一個列/變量基於是否行存在。我只是說,我會認爲這將是隻讀加入 – 2012-07-24 12:26:56

+0

可以http://stackoverflow.com/a/2986354/692560幫助你? (特定於Hibernate)。 – Thor84no 2012-07-24 12:35:30

回答

0

JPA具有您可以在JPQL中使用的計數功能。你只需要在你的where子句中區分是否是僱員。

+0

我不想使用jpql。我想它只是jpa註釋或一種方法 – 2012-07-24 13:02:51

0

您可以批註getter方法與@Transient這種方法裏面寫的邏輯運算,如果像USER_TYPE是EMP則返回true

+0

我沒有訪問價值...我需要得到的價值。 – 2012-07-24 13:02:15

+0

列出我的表名稱及其列 – Raman 2012-07-24 13:08:05

0

可以使用@JoinColumn加入User對象的Employee對象(你不」不得不有更多的ID)。你也不需要爲Employee對象設置一個getter,但是你現在可以編寫一個isEmployee()方法來執行檢查employee != null。您可能希望確保您使用一個渴望的獲取來始終擁有該信息。

相關問題