Я разрабатываю решение, и в определенной ситуации у меня есть класс под названием Cliente, как следует
@Entity
@Inheritance(strategy=InheritanceType.JOINED)
public class Cliente implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Integer id;
private String nome;
private String email;
@ElementCollection
@CollectionTable(name="TELEFONE")
private Set<String> telefones = new HashSet<>();
public Cliente() {}
//getters and setters
}
И у меня есть класс Funcionario, который расширяет класс Cliente, следующим образом.
@Entity
public class Funcionario extends Cliente{
private static final long serialVersionUID = 1L;
private String cpf;
private String cargo;
private Double salario;
private String login;
private String senha;
private String perfil;
public Funcionario() {}
public Funcionario(Integer id, String nome, String email, String cpf, String cargo, Double salario, String login, String senha, String perfil) {
super(id, nome, email);
this.cpf = cpf;
this.cargo = cargo;
this.salario = salario;
this.login = login;
this.senha = senha;
this.perfil = perfil;
}
//getters and setter
}
В моей базе данных у меня две таблицы при запуске приложения.Таблица Funcionario и таблица Cliente.А в таблице Funcionario у меня есть поле под названием «Id», которое связывает запись в Funcionario с записью в Cliente.
Поля таблицы Cliente
Поля таблицы Funcionario
Когда мне нужно сохранить запись в классе Funcionario, мне нужно передать параметры "Id", "Nome" и "Email" в суперконструктор и новыйзапись в таблице Funcionario и таблице Cliente создана.
Пока что кажется, что все работает хорошо, но через некоторое время мне нужно будет использовать существующую запись класса Cliente.Другими словами, мне нужно будет вставить новую запись в таблицу Funcionario, но мне нужно использовать запись, которая уже существует в таблице Cliente.
Я много искал, но не нашел ничего полезного, чтобысделай это.Вы знаете, как я могу решить эту проблему?
Спасибо, большое!