Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.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
Hibernate/Oracle seqhilo生成器_Oracle_Hibernate_Oracle10g_Sequence_Ora 00001 - Fatal编程技术网

Hibernate/Oracle seqhilo生成器

Hibernate/Oracle seqhilo生成器,oracle,hibernate,oracle10g,sequence,ora-00001,Oracle,Hibernate,Oracle10g,Sequence,Ora 00001,我正在尝试为Oracle上的Hibernate应用程序配置seqhilo生成器 <id name="idTest" type="int"> <column name="ID_TEST" precision="6" scale="0" /> <generator class="seqhilo"> <param name="sequence">S_TEST</param> <

我正在尝试为Oracle上的Hibernate应用程序配置seqhilo生成器

<id name="idTest" type="int">
       <column name="ID_TEST" precision="6" scale="0" />
       <generator class="seqhilo">
        <param name="sequence">S_TEST</param>
        <param name="max_lo">1000</param>
       </generator>
 </id>
必须生成的字段(id_Test)始终等于零,即使我将生成器更改为sequence或native,结果仍然相同

声明看起来正确,或者至少非常接近文档中的示例:

hilo和seqhilo生成器 提供两种替代实现 对hi/lo算法的改进。第一 实施需要“特殊的” 数据库表以容纳下一个 可用的“hi”值。如果得到支持, 第二种使用Oracle样式 顺序

<id name="id" type="long" column="cat_id">
        <generator class="seqhilo">
                <param name="sequence">hi_value</param>
                <param name="max_lo">100</param>
        </generator>
</id>

高值
100
但是为了调试这个问题,我会尝试

  • 激活以查看到底发生了什么(并发布结果)
  • 坚持以上示例,即在
    id
    元素中定义列,并使用
    long
    • 如果可行,请开始修改配置

我完全按照你说的做了(我更改了字段类型…),但是id始终等于零,即使使用其他生成器(序列,本机)@user405458你能确认以下
从dual
选择S_TEST.nextval返回什么吗?是的,我运行此查询,结果在每次调用时递增
<id name="id" type="long" column="cat_id">
        <generator class="seqhilo">
                <param name="sequence">hi_value</param>
                <param name="max_lo">100</param>
        </generator>
</id>