歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Hibernate中實體類型(Entity Type)與值類型(Value Type)的概念分析

Hibernate中的實體類型和值類型,大家在實際應用中都有一個大致的概念,但是如何更明確的給他們下一個合適的定義呢?

我們需要從Hibernate看待各種對象出發。

對象內有用於標識用的屬性(一般都是id),該標示屬性在數據庫有其對應的主鍵,而且該對象可以被多出引用(比如當做其他對象的屬性),稱之為實體類型。

而類本身沒有用以標識的屬性,依賴於某個對象(生命周期取決於所依賴的對象),並且無法被兩個以上的對象引用的對象,則稱之為值類型。

實體類型(Entity Type)與值類型(Value Type)定義對照表

比較特性 實體類型(Entity Type) 值類型(Value Type) 對象中,是否存在用以標識該對象的屬性(如果主鍵是復合主鍵,可能是多個),而該屬性在數據庫中有其對應的主鍵。 存在,而類中對應主鍵的屬性,則用來標識對象。 沒有,因此對象本身沒有用來標識對象的屬性(但是該類可能會有專屬的Table,只是Table中的主鍵,並不會對應到對象中的任一屬性。) 能否被一個以上的對象所引用 能,被其他對象引用時,在數據庫內通過外鍵來關聯,也正因為可以被一個以上的對象所引用,因此要具備用來標識的屬性。 否。 生命周期 可獨立自主 取決於所依賴的類

Copyright © Linux教程網 All Rights Reserved