有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

子类的javajpa继承

假设我们有:

public class Person {...}
public class Employee extends Person {....}

我们将Employee设置为另一个表为Person的实体
使用JPA,我们的接口扩展了JPA

我问personRepo.findAll()

是否可以只获取人员列表而不获取员工? (我正在分析这个atm机,所以我没有concreet示例,只需要知道这是否可行)

提前Thx


共 (1) 个答案

  1. # 1 楼答案

    我也做了同样的事。 这是我的代码:

    @Entity
    @Inheritance(strategy=InheritanceType.JOINED)
    @Audited
    public abstract class AbstractUser{..}
    
    @Entity
    @Audited
    public class Admin extends AbstractUser{ .. }
    
    @Entity
    @Audited
    public class OtherUser extends AbstractUser{ .. }
    

    然后,我也使用存储库。 因此,如果我使用yoursRepository.findAll();,我将获得所有用户

    在你的情况下,用personRepo.findAll(),你可以得到所有的人您得到了所有扩展人和不扩展人的人

    编辑:问题编辑后 如果您想只获取员工,您可以使用两个不同的存储库,一个用于员工,另一个用于个人。所以,当你使用employeeRepository时,你只能得到employeeRepository