Если вы используете @GeneratedValue(strategy = GenerationType.SEQUENCE)
над полями идентификаторов в обеих ваших сущностях, они оба будут использовать последовательность базы данных по умолчанию (названную hibernate_sequence
) для генерации новых идентификаторов. Это приводит к описанному вами поведению.
Если вы хотите, чтобы сущности генерировали свои идентификаторы из отдельных последовательностей, вы можете указать имя последовательности, чтобы получить идентификаторы, указав значение generator
внутри GeneratedValue
аннотации. Например:
Сотрудник. java
@Entity
@Table(name = "employee")
public class Employee {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "employee_seq")
private Long employee_id;
...
EmployeeDepartment. java
@Entity
@Table(name = "employee_department")
public class EmployeeDepartment {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "employee_department_seq")
private Long employee_department_id;
...