Questions tagged «class-table-inheritance»

8
您如何在数据库中表示继承?
我正在考虑如何在SQL Server数据库中表示复杂的结构。 考虑一个需要存储一系列对象的详细信息的应用程序,这些对象共享一些属性,但还有许多其他不常见的属性。例如,商业保险一揽子计划可能在同一份保单记录中包括责任险,汽车险,财产险和赔偿险。 在C#等中实现此功能很简单,因为您可以创建一个带有Sections集合的Policy,其中Section是根据各种封面类型的要求继承的。但是,关系数据库似乎不允许这样做。 我可以看到有两个主要选择: 创建一个Policy表,然后创建一个Sections表,其中包含所有可能的变体所需的所有字段,其中大多数都是null。 创建一个Policy表和许多Section表,每种表一个。 这两种选择似乎都不令人满意,尤其是因为有必要在所有节中编写查询时,这将涉及大量联接或大量空检查。 这种情况下的最佳做法是什么?

6
无法将标识列密钥生成与<union-subclass>(TABLE_PER_CLASS)一起使用
com.something.SuperClass: @Entity @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS) public abstract class SuperClass implements Serializable { private static final long serialVersionUID = -695503064509648117L; long confirmationCode; @Id @GeneratedValue(strategy = GenerationType.AUTO) // Causes exception!!! public long getConfirmationCode() { return confirmationCode; } public void setConfirmationCode(long confirmationCode) { this.confirmationCode = confirmationCode; } } com.something.SubClass: @Entity public abstract class …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.