Две идентичные таблицы (с именами таблиц различий), отображающие данные JPA для вызовов get, post и put - PullRequest
0 голосов
/ 24 мая 2019

Я хочу использовать наследование или некоторую чистую логику 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 знает, из какой таблицы извлекать / обновлять.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...