У меня есть столбец в моей БД, для которого установлен Identity (1,1), и я не могу заставить аннотации гибернации работать на него. При попытке создать новую запись появляются ошибки.
В моей сущности у меня есть следующее.
@Entity
@Table(schema="dbo", name="MemberSelectedOptions")
public class MemberSelectedOption extends BampiEntity implements Serializable {
@Embeddable
public static class MSOPK implements Serializable {
private static final long serialVersionUID = 1L;
@Column(name="SourceApplication")
String sourceApplication;
@Column(name="GroupId")
String groupId;
@Column(name="MemberId")
String memberId;
@Column(name="OptionId")
int optionId;
@GeneratedValue(strategy=GenerationType.IDENTITY, generator="native")
@Column(name="SeqNo", unique=true, nullable=false)
BigDecimal seqNo;
//Getters and setters here...
}
private static final long serialVersionUID = 1L;
@EmbeddedId
MSOPK pk = new MSOPK();
@Column(name="OptionStatusCd")
String optionStatusCd;
@Column(name="EffectiveDate")
Date effectiveDate;
@Column(name="TermDate")
Date termDate;
@Column(name="SelectionStatusDate")
Date selectionStatusDate;
@Column(name="SysLstUpdtUserId")
String sysLstUpdtUserId = Globals.WS_USER_ID;;
@Column(name="SysLstTrxDtm")
Date sysLstTrxDtm = new Date();
@OneToMany(mappedBy="option")
List<MemberSelectedVariable> variables =
new ArrayList<MemberSelectedVariable>();
//More Getters and setters here...
}
Но когда я пытаюсь добавить новую запись, я получаю следующую ошибку.
Невозможно вставить явное значение для столбца идентификаторов в таблице 'MemberSelectedOptions', когда для IDENTITY_INSERT установлено значение OFF. Я не хочу устанавливать для IDENTIY_INSERT значение ON, потому что хочу, чтобы столбец идентификаторов в БД управлял значениями.
SQL, который выполняется, является следующим; где вы можете ясно видеть вставку.
insert into dbo.MemberSelectedOptions
(OptionStatusCd,
EffectiveDate,
TermDate,
SelectionStatusDate,
SysLstUpdtUserId,
SysLstTrxDtm,
SourceApplication,
GroupId,
MemberId,
OptionId,
SeqNo)
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
Чего мне не хватает?