我想使用继承或一些干净的JPA逻辑,这样我就不必复制代码来使用spring data jpa对2个相同的表对象执行POST,GET和PUT操作
我有2个相同的表,分别是1)合同雇员2)永久雇员
两者的结构相同
CREATE TABLE permanentemployee (
empid int(11) NOT NULL,
age int(11) NOT NULL,
departmentname varchar(255) NOT NULL,
empname varchar(255) DEFAULT NULL,
salary int(11) NOT NULL,
PRIMARY KEY (empid));
CREATE TABLE contractemployees(
empid int(11) NOT NULL,
age int(11) NOT NULL,
departmentname varchar(255) NOT NULL,
empname varchar(255) DEFAULT NULL,
salary int(11) NOT NULL,
PRIMARY KEY (empid));
问题 我想使用单个spring数据JPA Repo,它可以创建,获取,更新记录。
将所有表属性添加到抽象类实体
@Entity
@MappedSuperclass
@Data
public abstract class Employee{
private String empname;
private String departmentid;
private int age;
private int salary;
}
合同雇员的第一实体
@Entity
@Table(name="contractemployee")
public class Contractemployees extends Employee {
@Id
private int empid;
}
常驻员工的第二实体
@Entity
@Table(name="permanentemployee")
public class PermanentEmployee extends Employee {
@Id
private int empid;
}
回购
@NoRepositoryBean
public interface EmployeeRepo<T extends Employee> extends CrudRepository<T, Integer> {
}
我应该如何从JPA知道要从中获取/更新表的控制器传递这些对象。