我在我的应用程序中使用了带JDBC的micronaut数据(没有休眠) 我需要使用Oracle DB序列生成主键值
根据他们的官方文档(https://micronaut-projects.github.io/micronaut-data/1.0.x/guide/#jdbc)节:9.1.4.1 SQL注释
仅支持某些JPA批注,并且在列表中找不到@GeneratedValue和@SequenceGenerator(因此不确定是否支持这些批注)
此外,医生说,
第9.1.4.2节ID生成 如果希望对ID使用序列,则应调用生成序列值的SQL并在调用save()之前对其进行分配。
那么,查询Oracle数据库以获得序列值的最佳方法是什么?(因为与JPA不同,我这里没有任何会话/实体管理器)。
已经尝试使用JPA注释生成序列:
@GeneratedValue和@SequenceGenerator
还在使用
@GenerateValue存在于micronaut数据库中 (io.micronaut.data.annotation.GeneratedValue)
示例代码:
@Id
@GeneratedValue(策略= GenerationType.SEQUENCE,生成器=“ ID_SEQ”)
@SequenceGenerator(sequenceName =“ EMPLOYEE_ID_SEQ”,allocationSize = 1,名称=“ ID_SEQ”)
私有Long employeeId;
以上代码失败,原因:
由以下原因引起: java.lang.NullPointerException :null 在oracle.jdbc.driver.OraclePreparedStatement.setupDbaBindBuffers(OraclePreparedStatement.java:3194)
答案 0 :(得分:0)
尚不支持序列发生器,但在TODO列表中