Q
JPA:外鍵註釋
18
A
回答
25
由於論壇有很多話題和主題屬於獨一無二的論壇,你可能想要去與@ManyToOne
註釋的一個論壇類型屬性:
@ManyToOne
@JoinColumn(name = "forumId")
private Forum forum;
查看更多:
ManyToOne and JPA mapping
+5
但在這種情況下的「問題」是,當您將主題序列化爲XML或JSON(例如將其傳遞給客戶端)時,整個Forum對象也將默認被序列化...如果if你上傳一個主題到你的服務器,你需要傳遞整個Topic + Forum對象,你不能只使用論壇ID。在某些情況下,手動插入相關實體的外鍵似乎更容易。 – splinter123 2014-09-09 22:45:27
1
@ManyToOne 正如註釋所暗示的 - 每個論壇有許多主題
5
正如其他人已經回答 -
您應該使用ManyToOne和JoinColumn註釋。
請記住,由於JPA是關於ORM的 - 對象關係映射,
您應該引用另一個對象,就像您在Java中「自然地」完成的那樣 - 即通過對象而不是通過其標識符(它是forumId)
這是JPA和Hibernate之間的關係(以前稱爲JPA)之間的設計考慮因素之一。
相關問題
- 1. @IdClass JPA註釋
- 2. JPA註釋
- 3. OneToMany JPA註釋
- 4. JPA ManyToMany註釋
- 5. 外鍵休眠註釋
- 6. FieldError註釋過的外鍵
- 7. JPA 2:使用@Table註釋的例外
- 8. 比較JPA註釋
- 9. JPA去除註釋
- 10. 註釋JPA休眠
- 11. JPA關係註釋
- 12. JPA註釋問題
- 13. JPA註釋和ConstraintViolationException
- 14. Katharsis和JPA註釋
- 15. JPA 2.0中的JPA 2.0字段註釋與方法註釋
- 16. 使用數據註釋指定外鍵
- 17. Gradle/Hibernate/Maven註釋外鍵創建
- 18. MySQL的添加註釋外鍵
- 19. 外鍵關係:單向註釋休眠
- 20. .net 4.5外鍵數據註釋c#
- 21. Django的註釋計數外鍵的外鍵
- 22. JPA/JTA/@Transactional Spring註釋
- 23. Android中的JPA註釋
- 24. JPA註釋與繼承
- 25. JPA三聯「@JoinTable」註釋
- 26. JPA空不更新註釋
- 27. 從JPA註釋生成DDL
- 28. JPA註釋和SQL表格
- 29. JPA註釋條件加入
- 30. JPA註釋和接口
你不需要在'Topic'中聲明'forumId'。 – 2012-08-10 16:50:30
你爲什麼這麼說?我認爲這是必要的,因爲我必須知道該主題屬於哪個論壇 – socksocket 2012-08-10 16:53:03
@socksocket我認爲這是因爲您可以註釋屬性'Forum',用'@ JoinColumn'註釋指定id,請參閱我的答案。 ;) – elias 2012-08-10 16:54:41