当前位置: 首页 > 知识库问答 >
问题:

Blaze持久性EntityView继承映射

岑畅
2023-03-14
@Entity
public class Content extends BaseEntity {
    private boolean deleted;
    private boolean published;
}

@Entity
public class WebContent extends Content {
    private String webpage;
}
@EntityView(Content.class)
@EntityViewInheritance
@CreatableEntityView
@UpdatableEntityView
public interface ContentUpdateView {
    @IdMapping
    Long getId();
    boolean isPublished();
    void setPublished(boolean published);
}

@EntityView(WebContent.class)
@CreatableEntityView
@UpdatableEntityView
public interface WebContentUpdateView extends ContentUpdateView {
    String getWebpage();
    void setWebpage(String webpage);
}
@POST
public ContentUpdateView save(ContentUpdateView content) {
    return contentsService.save(content);
}

共有1个答案

余信然
2023-03-14

我用Jackson注释让它工作。下面是基类:

@EntityView(Content.class)
@EntityViewInheritance
@JsonTypeInfo(
        use = JsonTypeInfo.Id.NAME,
        property = "type")
@JsonSubTypes({
        @JsonSubTypes.Type(value = DescriptiveContentView.class, name = "descriptive"),
        @JsonSubTypes.Type(value = MediaContentView.class, name = "media"),
        @JsonSubTypes.Type(value = WebContentView.class, name = "web")
})
@JsonTypeName("content")
public abstract class ContentView {
    @IdMapping
    public abstract Long getId();
    public abstract boolean isPublished();
}

下面是一个子类:

@EntityView(DescriptiveContent.class)
@JsonTypeName("descriptive")
public abstract class DescriptiveContentView extends ContentView {
    public abstract Set<LocalizedParagraphView> getLocalizedParagraphs();
}

我将抽象类用于其他目的,但它也适用于接口。

 类似资料:
  • 1. 前言 本节课程和大家一起学习继承映射。通过本节课程的学习,你将了解到: 什么是继承映射; 实现继承映射的 3 种方案。 2. 继承映射 学习继承映射之前,需要搞清楚什么是继承映射? 继承是 OOP 中的概念,其目的除了复用代码之外,还用来描述对象在现实世界中的关系。 为了更好地讲解继承映射,咱们再在数据库中创建一张老师表。数据库中多了一张表,按照使用 Hibernate 的套路,理所当然应该

  • 是否有一种方法可以跳过where表达式中的空参数?让我们假设我有以下代码: 当deleted变量为null时,我希望跳过“deleted”的计算。有没有办法做到这一点?

  • 我有一个BaseEntity,当我像这样制作mapper时,它有一个名为Customer的子级: Mapstruct不会自动映射BaseEntity字段。你能告诉我怎么做吗?

  • 我正在尝试文档'1.5中的示例代码。第一个条件查询“节。代码如下, 并且添加代码,ClassCastException发生。 我创建了github公共存储库,所以您可以在这里查看代码。 我用Spring Boot创建了这个项目。 如有任何帮助,不胜感激。谢谢你。

  • 我在JPA实体映射方面有问题。我有一些课: A级 类别b Classc *如何解决这个问题?*我还能使用类继承吗?还是另一个解决这个的方法? 谢了。

  • persistenceException:DB2 SQL错误:sqlcode=-206,sqlstate=42703,sqlerrmc=t0.id,driver=3.52.95{prepstmnt 1029586270