У меня есть следующая сущность (опущены геттеры и сеттеры) ...
@Entity
@Table(name = "TBL_PROJECT_RUN")
public class ProjectRunEntity {
@Id
@Column(name = "ID")
@GeneratedValue(generator = "StakeholdersSequence")
@SequenceGenerator(name = "StakeholdersSequence", sequenceName = "STAKEHOLDERS_UPDATE_SEQ", allocationSize = 1)
private Integer id;
@Column(name = "REPORT_RUN_DATE")
private Date systemRunDate;
@Column(name = "JIRA_PROJECT_NAME")
private String jiraProjectName;
@Column(name = "JIRA_PROJECT_DESC")
private String jiraProjectDescription;
@Column(name = "RUNBY")
private String runBy;
@Column(name = "HEADER_TEXT")
private String headerText;
@Column(name = "FOOTER_TEXT")
private String footerText;
@Column(name = "JIRA_ID")
private String jiraId;
@Column(name = "TO_EMAIL")
private String toEmail;
@Column(name = "CC_EMAIL")
private String ccEmail;
@OneToMany(fetch = FetchType.EAGER, mappedBy = "projectRunEntity")
private List<ProjectRunDetailsEntity> projectRunDetailsEntities;
Тогда я добавляю его в базу данных вот так ...
final Session session = sessionProvider.get();
session.persist(projectRunEntity);
session.flush();
return projectRunEntity.getId();
Идентификатор, возвращаемый здесь, не является фактическим идентификатором в базе данных, он равен 1 или 2. Пожалуйста, обратите внимание, что я разделяю одну последовательность для всех идентификаторов во всех таблицах в моем проекте, так что у любого данного объекта есть уникальный индекс для всего проекта. Что может привести к неправильному идентификатору, как это?