Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 在JDBC中使用micronaut数据时如何获取DB序列值_Oracle_Jdbc_Micronaut_Micronaut Data - Fatal编程技术网

Oracle 在JDBC中使用micronaut数据时如何获取DB序列值

Oracle 在JDBC中使用micronaut数据时如何获取DB序列值,oracle,jdbc,micronaut,micronaut-data,Oracle,Jdbc,Micronaut,Micronaut Data,我在应用程序中使用micronaut数据和JDBC(无hibernate) 我需要使用Oracle DB序列生成主键值 根据他们的官方文档()第9.1.4.1节SQL注释 只支持一些JPA注释,我在列表中找不到@GeneratedValue和@SequenceGenerator(因此不确定是否支持这些注释) 而且医生说, 第9.1.4.2节ID生成 如果希望对ID使用序列,则应调用生成序列值的SQL,并在调用save()之前对其进行赋值 那么,查询Oracle数据库以获取序列值的最佳方法是什么?

我在应用程序中使用micronaut数据和JDBC(无hibernate) 我需要使用Oracle DB序列生成主键值

根据他们的官方文档()第9.1.4.1节SQL注释

只支持一些JPA注释,我在列表中找不到@GeneratedValue和@SequenceGenerator(因此不确定是否支持这些注释)

而且医生说,

第9.1.4.2节ID生成 如果希望对ID使用序列,则应调用生成序列值的SQL,并在调用save()之前对其进行赋值

那么,查询Oracle数据库以获取序列值的最佳方法是什么?(因为我这里没有任何会话/实体管理器,不像JPA)。

已尝试使用JPA批注生成序列:

@GeneratedValue和@SequenceGenerator

还使用

@micronaut数据库中存在GenerateValue (io.micronaut.data.annotation.GeneratedValue)

示例代码:

@Id
@GeneratedValue(策略=GenerationType.SEQUENCE,generator=“ID_SEQ”) @SequenceGenerator(sequenceName=“EMPLOYEE\u ID\u SEQ”,allocationSize=1,name=“ID\u SEQ”)
私人长期雇员ID

上述代码失败,错误为:

原因:java.lang.NullPointerException:null
oracle.jdbc.driver.OraclePreparedStatement.setupDbaBindBuffers(OraclePreparedStatement.java:3194)

序列生成器还不受支持,但已列在待办事项列表中

因此,您目前应该建议什么方法?我们找到的一种方法是创建一个抽象存储库类,并使用“JdbcOperations”,激发DB sequence sql来获取下一个序列,并在调用save API之前将值设置为my entity。