1
A
回答
0
首先,你的問題在細節上相當模糊。社區可以爲你提供的支持越多,你越明確。所以我會猜測你在尋找什麼支持,並希望它有幫助。
如果您使用的是JPA/Hibernate之類的東西,您可以使用註釋@MappedSuperClass
創建類。當這些類被掃描時,將實現「父」表和子表之間的關係。作爲一個簡單的例子:
@MappedSuperClass
public class Foo {
private Long id;
// ... getters and setters
}
@Table("BAR")
@AttributeOverride(name="id" [email protected](name = "BAR_ID"))
public class Bar extends Foo {
// ... map your table
}
如果你會發現,在Foo
類沒有代表的表。它可以提供跨越多個表的一些常用字段(典型字段,如modified_by,modified_date等)。如果Bar
具有類似BAR_ID的ID,則可以使用@AttributeOverride
批註覆蓋父項。
雖然我用註解做了所有事情,但我相信你也可以考慮用XML來做這件事。
0
我不知道如果我理解正確的問題.... :-(
使用像Hibernate(或JPA)的ORM解決方案,可以有一個抽象有幾個子類(或沒有)的實體,每個映射到不同的表
優點:
- 要求o每一列只需定義一次,然後將其重複用於所有表格。
- 如果所有這些實體依賴公共部分,您可以擁有一些通用的代碼。 Hibernate也可以讓你編寫通用的查詢
(例如:「select * from Object
」返回整個數據庫,因爲它匹配你所有的實體)。
1
我假設「Java DB Table」是指通過JDBC訪問的標準SQL表,而不是稱爲「Java DB Table」的產品。 你的問題的答案是,不,你不能直接在SQL中進行繼承。這不是Java,JDBC或任何對象關係映射工具的限制,而是SQL本身的一個問題。 但是,使用Hibernate/JPA/JDO,使用幾種不同的方法假冒它很容易。
因此,對於這個問題的回答「我可以在使用Java的關係數據庫中輕鬆表示我真正很酷的對象繼承層次結構嗎?」是,適合簡單的定義,是的。
相關問題
- 1. 數據庫表繼承
- 2. VS中數據庫表的繼承
- 3. 數據庫表造型 - 列繼承
- 4. 數據庫繼承Laravel 5.4
- 5. 數據庫設計。繼承
- 6. 數據庫繼承技術?
- 7. 繼承Rails數據庫
- 8. 繼承數據庫連接
- 9. 玩! Framework數據庫繼承
- 10. 數據庫中的繼承?
- 11. 數據庫繼承鏈接
- 12. 繼承數據表和從數據表
- 13. Java繼承與C#繼承
- 14. 沒有繼承的數據庫設計
- 15. 彈簧數據庫中的JPA繼承
- 16. 繼承的SQL Server數據庫問題
- 17. 繼承數據庫的SQL Server
- 18. EF6 - TPT - 繼承 - 數據庫首先
- 19. 在數據庫中建模繼承
- 20. 繼承和數據庫設計
- 21. Rails數據庫級別的多繼承
- 22. 帶Node.js的數據庫繼承模型
- 23. 數據庫設計 - 對象繼承
- 24. Java繼承與參數列表
- 25. 繼承struct數據
- 26. Java繼承
- 27. Java繼承
- 28. Java繼承類
- 29. Java繼承
- 30. Java繼承
對不起,我不清楚。雖然我認爲它的Apache Derby和我目前正在遵循本教程,但我並不完全確定即將使用的解決方案:http://netbeans.org/kb/docs/java/gui-db-custom.html。我想知道如果用這種方式可以做繼承嗎? – Mig 2009-12-04 14:50:36