首页 > 解决方案 > 存储来自非实体父级的字段

问题描述

我有一个类,我不希望它存储在数据库中,基本上它用于从 http 请求接收此类信息。

class Address {
    private String address;
    private String postCode;

    // + getters and setters

}

请记住,此类不是实体。现在我想通过继承来创建一个实体。

@Entity
class StorableAddress extends Address {
   // id and a few more fields.
}

当我保存 StorableAddress 时,它不会保存地址(地址和邮政编码)中的任何字段。有没有解决方案,还是我必须复制所有字段?

标签: hibernatejpa

解决方案


简短的回答 -您应该复制值而不是使用继承。

您所描述的是DTO 模式

为了在使用 DTO 时避免样板代码,您可以使用MapStruct 之类的工具


推荐阅读