首页 > 解决方案 > Spring - 多个类的一个实体图

问题描述

这是我的课:

项目主体:

@Data
@MappedSuperclass
public abstract class ProjectMain<S> extends ProjectBase {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ProjectId")
private Long projectId;

@OneToMany(mappedBy = "project", orphanRemoval = true)
private Set<ProjectReaction> reactions;

@OneToMany(mappedBy = "project", orphanRemoval = true, fetch = FetchType.EAGER)
private List<S> projectDuplicates;
}

项目:

@NamedEntityGraph(
name = "project-entity-graph",
attributeNodes = {
    @NamedAttributeNode("projectDuplicates"),
    @NamedAttributeNode("portal"),
    @NamedAttributeNode("reactions")
})
@Data
@Entity
@Table(name = "Projects")
public class Project extends ProjectMain<ProjectDuplicate> {}

存储库:

@NoRepositoryBean
public interface ProjectBaseRepository<T extends ProjectMain<S>, S extends ProjectDuplicateMain<T>> extends JpaRepository<T, Long>,
                                                 JpaSpecificationExecutor<Project> {

@EntityGraph(value = "project-entity-graph" , type= EntityGraph.EntityGraphType.FETCH)
List<T> findSimilarProjects(...)
}

如果我在 Project.class 中创建一个实体图,一切都很好。但是,当我想创建 10 个继承自抽象类 ProjectMain 的类时,就会出现问题。是否可以为从 ProjectMain 继承的所有类和存储库中的一种方法创建一个实体图?

标签: javaspringhibernateentity

解决方案


推荐阅读