У меня вопрос, что я делаю не так, мои сущности отображаются не так, как хотелось бы, когда я перехожу на h2-console
Я вижу 3 таблицы, persons
employee
manager
, когда я перехожу наВ таблице persons
я вижу всех, кто расширяет этот класс abstract
(employee
, manager
), но когда я перехожу к другим таблицам, я вижу только id
этих классов.У меня вопрос, как это исправить, а также как заставить каждую таблицу отображать идентификатор, начиная с 1
, потому что теперь таблица сотрудника имеет 3 идентификатора 1,2,3
, а таблица менеджера имеет 4,5
, таблица персоны отображается правильно,Я хотел бы отобразить 3 сотрудников в таблице сотрудников, 2 менеджера в таблице менеджеров и каждую сущность в таблице персон, а идентификаторы, начинающиеся с 1 в каждой таблице.
Абстрактный класс Person
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorColumn(name = "descriminatorColumn")
@Table(name = "persons")
public abstract class Person {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
@Column(name = "first_name")
private String firstName;
@Column(name = "last_name")
private String lastName;
@Column(name = "email")
private String address;
@Column(name = "age")
private int age;
public Person(String firstName, String lastName, String address, int age) {
this.firstName = firstName;
this.lastName = lastName;
this.address = address;
this.age = age;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"firstName='" + firstName + '\'' +
", lastName='" + lastName + '\'' +
", address='" + address + '\'' +
", age=" + age +
'}';
}
}
класс менеджера расширяет абстрактный класс Person
@Entity
@Table(name = "managers")
public class Manager extends Person {
public Manager(String firstName, String lastName, String email, int age) {
super(firstName, lastName, email, age);
}
@Override
public String toString() {
return super.toString();
}
}
класс сотрудника расширяет абстрактный класс Person
@Entity
@Table(name = "employees")
public class Employee extends Person {
public Employee(String firstName, String lastName, String address, int age) {
super(firstName, lastName, address, age);
}
@Override
public String toString() {
return super.toString();
}
}