我在使用 Oracle XE 数据库的项目中遇到了 GeneratedValue 注释的问题。根本不会生成该值-尝试使用自动生成的字段在表中插入行时,我不断收到错误消息。
"Caused by: java.sql.SQLIntegrityConstraintViolationException: ORA-01400: cannot insert NULL into ("SYSTEM"."T_VAPP"."VAPPID")"
完全相同的代码适用于 Derby 或 MySQL,但我需要使其适用于 Oracle,它似乎忽略了我在生成的字段定义中输入的任何内容。我尝试使用 GenerationType.TABLE、GenerationType.SEQUENCE 但同样的错误仍然存在。我还使用 Oracle SQL 开发人员验证了没有创建代码中定义的序列。我在这里想念什么?
@Entity
@Table(name = "T_vApp")
@RooJavaBean
@RooToString
@RooJpaActiveRecord(identifierColumn = "vAppId", identifierField = "id", table = "T_vApp")
public class VLabApplication {
@Id
@GeneratedValue(strategy=GenerationType.AUTO, generator="my_entity_seq_gen")
@SequenceGenerator(name="my_entity_seq_gen", sequenceName="MY_ENTITY_SEQ")
@Column(name = "vAppId" )
private Long id;