У меня есть рабочий код, но я не понимаю, почему он работает:
public class FeatureInstalled implements Serializable
{
@Id
@Column(name = "FEATURE_INSTALLED_ID")
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator = "FEATURE_INSTALLED_Sequence")
@SequenceGenerator(name = "FEATURE_INSTALLED_Sequence", sequenceName = "FEATURE_INSTALLED_SEQ", allocationSize = 1)
private Long featureInstalledId;
Получает FEATURE_INSTALLED_ID
из последовательности и использует его для вставки записи.
У меня был следующий код без allocationSize
, и, хотя он, казалось, использовал сгенерированные идентификаторы, он имел гораздо больший FEATURE_INSTALLED_IDs
:
public class FeatureInstalled implements Serializable
{
@Id
@Column(name = "FEATURE_INSTALLED_ID")
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator = "id_Sequence")
@SequenceGenerator(name = "id_Sequence", sequenceName = "FEATURE_INSTALLED_SEQ")
private Long featureInstalledId;
Может кто-нибудь объяснить мне, почему он так странно работает без allocationSize
и подтвердить, что это работает с ним? Btw. Также в FEATURE_INSTALLED-table
определен триггер для FEATURE_INSTALLED_ID
, который равен NULL.