gpt4 book ai didi

java - spring jpa - 获取具有 discriminatorType 的所有实体

转载 作者:行者123 更新时间:2023-12-01 16:23:54 26 4
gpt4 key购买 nike

我有两个继承自 ExerciceFramework 实体的实体,我如何获取所有 ExerciseFramework 及其 discriminatorType professionTypefindAll () 函数不返回此属性

@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "professionType", discriminatorType = DiscriminatorType.STRING)
public class ExerciseFrameworkEntity implements Serializable { }

@Entity
@DiscriminatorValue("ETP")
public class Company extends ExerciseFrameworkEntity { }

@Entity
@DiscriminatorValue("ETA")
public class Establishment extends ExerciseFrameworkEntity { }

@Repository
public interface ExerciceFrameworkRepository extends JpaRepository<ExerciseFramework, String> {

}

最佳答案

您只需为您想要的子类型声明一个新的存储库接口(interface)即可。像:

CompanyRepo extends JpaRepository<Company, String>

当我遇到与您相同的情况时,我刚刚创建了 3 个存储库接口(interface),一个用于返回所有类型的基类,然后是该接口(interface)的 2 个扩展,专门返回子类型。它很容易由泛型控制。在你的情况下,类似:

 ExerciceFrameworkRepo<T extends ExceriseFrameworkEntity> extends JpaRepository<T, String>
CompanyRepo extends ExerciseRepo<Company>
EstablishmentRepo extends ExerciseRepo<Establishment>

关于java - spring jpa - 获取具有 discriminatorType 的所有实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62197859/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com