У меня есть две таблицы EmployeeGroup и EmpplyeeDetails Table.EmployeeGroupTable имеет первичный ключ groupid, который должен быть сгенерирован из последовательности данных GroupIdGenerator.EmployeeDetails имеет два первичных ключа: groupid и employeeid.Groupid должен быть таким же, как и в предыдущей таблице, а employeeid также должен иметь увеличенное значение, например 1,2,3.Эти значения в обеих таблицах следует вставить в одну транзакцию.Можете ли вы помочь мне с правильным отображением?
Я уже пробовал с другой комбинацией сгенерированного значения и генератора последовательности, но не смог сохранить данные в таблицу.
@Entity
@Table(name="EMPLOYEE_GROUP")
public class EmployeeGroup {
@Column(name = "GROUP_ID")
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator =
"groupid-gen")
@Id
@NotNull
@SequenceGenerator(name = "groupid-gen", sequenceName =
"GROUIP_ID_GENERATOR" )
private long groupId;
@OneToMany(mappedBy = "employeeDetail")
private List<EmployeeDetail> employeeDetails;
}
@Entity
@Table(name = "EMPLOYEE_DETAIL")
@IdClass(EmployeeID.class)
public class EmployeeDetail {
@ManyToOne
@JoinColumn(name = "GROUP_ID", insertable=false , updatable=false)
private EmployeeGroup employeeGroup;
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator =
"groupid-gen")
@SequenceGenerator(name = "groupid-gen", sequenceName =
"GROUIP_ID_GENERATOR" )
@Column(name = "GROUP_ID")
@Nonnull
private Long groupId;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Nonnull
@Column(name = "EMPLOYEE_ID")
private Long employeeId;
}
public class EmployeeId{
private Long groupId;
private Long employeeId;
public EmployeeId(final Long groupId, final Long employeeId) {
this.groupId = groupId;
this.employeeId = employeeId;
}
public EmployeeId() {
}
}
Ожидаемый результат: обе таблицы должны иметь правильные значения, например.
Таблица EmployeeGroup
GroupID
1
2
Таблица EmployeeDetail
GroupId EmployeeId
1 1
1 2
1 3
2 1
2 2
Я получаю ошибку, так как ОШИБКА ohejdbc.spi.SqlExceptionHelper - последовательность "HIBERNATE_SEQUENCE" не найдена;Оператор SQL: вызовите следующее значение для hibernate_sequence [90036-197] org.springframework.orm.jpa.JpaSystemException: не удалось подготовить оператор;вложенным исключением является org.hibernate.exception.GenericJDBCException: не удалось подготовить оператор