Я хочу использовать наследование или некоторую чистую логику JPA, чтобы мне не приходилось дублировать мой код для выполнения операций POST, GET и PUT с 2 одинаковыми табличными объектами с использованием пружинных данных jpa
У меня есть 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));
ПРОБЛЕМА
Я хочу использовать репо JPA с одной пружиной, который может создавать, получать, обновлять записи.
Добавление всех свойств таблицы в сущность абстрактного класса
@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;
}
Repo
@NoRepositoryBean
public interface EmployeeRepo<T extends Employee> extends CrudRepository<T, Integer> {
}
Как мне передать эти объекты из контроллера, который JPA знает, из какой таблицы извлекать / обновлять.