我在项目描述的模型上工作我有enity DescriptionStringItem,DescriptionBigDecimalItem等...和anstract类AbstractDescriptionItem
@Entity
@Table(name = "description_abstract")
@Inheritance(strategy = InheritanceType.JOINED)
public abstract class AbstractDescriptionItem<T> implements Serializable
{...}
和示例DescriptionStringItem类
@Entity
@Table(name = "description_string")
@AssociationOverride(name = "content_id", joinColumns = @JoinColumn(foreignKey = @ForeignKey(name = "fk_ds_ad_content_id")))
public class DescriptionStringItem extends AbstractDescriptionItem<String>
{ ... }
数据库中的一切看起来都很好我得到了正确的结构,但是父表单没有子实体的id
父实体
| DESCRIPTION_ABSTRACT |
| ID | ITEM_ID | **TYPE** | **CONTENT_ID** |
| 100000 | 1212 | ITEM_URL | null |
儿童实体
| DESCRIPTION_STRING |
| ID | CONTENT |
| 100000 | www.google.pl |
更新
列 content_id 没用,我不知道它应该如何工作。如果没有外键,它为什么以及如何工作?我不确定,但在测试和应用程序中,我看到我的DescriptionItem :)的所有包。所以我删除了列 content_id 。
我不使用自动创建更新数据库结构(休眠)。