是什麼@Embedded批註技術和@OneToOne註解技術之間的差異,因爲在嵌入式Java類中含有「擁有」類和的幫助下關係@嵌入註釋我們堅持在數據庫中有一個對象。並且在OneToOne關係中我們也堅持在數據庫中有一個對象。休眠:@嵌入式註解技術和@OneToOne標註技術的異同
回答
@OneToOne用於映射兩個與一對一關係相關的數據庫表。例如,客戶可能總是在名稱表中有一條記錄。
或者,如果這些名稱字段的Customer表中(而不是在一個單獨的表),那麼你可能需要一個@Embedded。在它的表面上,您可以將名稱字段作爲標準屬性添加到Customer實體,但如果這些相同的列出現在多個表上(例如,您可能在Supplier表上有名稱列),那麼它可能很有用。
它的組成和聚合的區別。 @嵌入式對象總是在其父母的生命週期內進行管理。如果家長被更新或刪除,他們也會被更新或刪除。 @OneToOne對象可能通過其@Join註釋的cascadeType選項模仿合成,但默認情況下它們是聚合的,也就是說它們的生命週期與其父對象的生命週期是分開的。
@Embedded通常表示一個複合主密鑰作爲可嵌入的類:
@Entity
public class Project {
@EmbeddedId ProjectId id;
:
}
@Embeddable
Class ProjectId {
int departmentId;
long projectId;
}
主鍵字段在一個可嵌入的類中定義。該實體包含一個使用@EmbeddedId進行註釋幷包含該可嵌入類的實例的單個主鍵字段。使用此表單時,未定義單獨的ID類,因爲可嵌入類本身可以表示完整的主鍵值。
@OneToOne是針對與一個一對一的關係相關的映射2 DB表。 @Id將是主鍵。
@Embedded使用具有值對象(其具有僅當連接到一物體含義對象),而一對一映射是具有自己存在和意義兩個物體之間。
例如,
Value Object和@Embedded:如果我們有一個User類,並且此類中有一個地址Object,則它可以被視爲一個值對象,因爲除非與用戶關聯,否則地址本身沒有任何意義。這裏地址對象可以用@Embedded註釋。
一對一映射和@OneToOne:如果我們有一個User類,並且此類有一個'父'對象或'母'對象,我們想要將'Father'或'Mother'實例註釋爲@作爲'父親'或'母親'的OneToOne有其自己的含義和存在,並不是Value對象到User類。
密切相關的一個區別是@OneToMany和@ElementCollection之間。兩者都用於保存Java類中Collection類型的實例變量。不同之處在於@ElementCollection被用於當被保存的集合的元素是值對象時,而當元素和對象具有明確定義的含義和存在時使用@OneToMany。
- 1. 嵌入技術
- 2. PHP SQL注入阻止技術
- 3. 使用什麼技術來注入DLL?
- 4. 解決技術
- 5. 嵌入式服務器的Web技術
- 6. 瞭解不同的NFC標籤技術
- 7. 技術差異,tizen
- 8. 使用UI技術的網絡技術
- 9. opengl文字標註的技術和速度預期
- 10. WinHex的技術
- 11. 相關的技術術語
- 12. JPA,休眠,嵌入式和OneToOne
- 13. 此模式的正確技術術語
- 14. 正確解釋技術術語
- 15. 最快的同步技術
- 16. WCAG 2.0:技術H44和技術F68之間的區別
- 17. 解析值技術需要
- 18. HTML5技術
- 19. .NET「推」技術?
- 20. GetDeviceCaps技術
- 21. 跟蹤技術
- 22. 分類技術
- 23. ajax技術
- 24. Mongomapper - bootstrapping技術
- 25. WPF技術棧
- 26. Java WebService技術
- 27. AS3 - Autocrop技術?
- 28. Sharepoint技術
- 29. 猜測技術
- 30. openmp reduce技術