HIbernate 5:发生器类别=“序列”不工作 [英] HIbernate 5: generator class="sequence" not working

查看:102
本文介绍了HIbernate 5:发生器类别=“序列”不工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下映射:

 < id name =idtype =java.lang.Long = ID > 
< generator class =sequence>
< param name =sequence> tracksdata_seq< / param>
< / generator>
< / id>

当我在Hibernate 4.2中使用它时,一切都很顺利。现在我正在迁移到Hibernate 5并面临以下问题:

  2015-10-06 19:49:50 DEBUG SQL:92 -  select nextval('hibernate_sequence')
2015-10-06 19:49:50 DEBUG SqlExceptionHelper:122 - 无法提取ResultSet [n / a]
org.postgresql.util.PSQLException:错误:关系hibernate_sequence不存在

如何解决此问题?



PS Hibernate 5.0.2.Final。

解决方案

您有两种选择:


  1. 您将 hibernate.id.new_generator_mappings 配置属性设置为false并切换回旧标识符生成器

  2. 类= 序列 >
    < param name =sequence> MY_SEQUENCE< / param>
    < / generator>

    到:

     < generator class =org.hibernate.id.enhanced.SequenceStyleGenerator> 
    < param name =optimizer>无< / param>
    < param name =increment_size> 1< / param>
    < param name =sequence_name> MY_SEQUENCE< / param>
    < / generator>



I have following mapping:

    <id name="id" type="java.lang.Long" column="id">
        <generator class="sequence">
            <param name="sequence">tracksdata_seq</param>
        </generator>
    </id>

Everything went fine when I worked with it in Hibernate 4.2. Now I am migrating to Hibernate 5 and facing following issue:

2015-10-06 19:49:50 DEBUG SQL:92 - select nextval ('hibernate_sequence')
2015-10-06 19:49:50 DEBUG SqlExceptionHelper:122 - could not extract ResultSet [n/a]
org.postgresql.util.PSQLException: ERROR: relation "hibernate_sequence" does not exist

How to resolve this issue?

P.S. Hibernate 5.0.2.Final.

解决方案

You have two options:

  1. You set the hibernate.id.new_generator_mappings configuration property to false and switch back to the old identifier generators
  2. You change the mapping as follows, from this:

    <generator class="sequence">
        <param name="sequence">MY_SEQUENCE</param>
    </generator>
    

    to:

    <generator class="org.hibernate.id.enhanced.SequenceStyleGenerator">
        <param name="optimizer">none</param>
        <param name="increment_size">1</param>
        <param name="sequence_name">MY_SEQUENCE</param>
    </generator>
    

这篇关于HIbernate 5:发生器类别=“序列”不工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆