我是一只骄傲的长颈鹿 2023-12-29 11:01 采纳率: 0%
浏览 4

hibernate子类继承父类 主键自增序列

哈喽 有个问题不知道大家遇到没有遇到 就是在使用hibernate 的时候 全部的entity继承一个 baseentity 使用sequence 序列号进行自增 ,但是并不是用的子类的序列号自增 都是使用父类的序列号自增的 大家有遇到过这种情况嘛

img

img

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-12-29 14:30
    关注

    【相关推荐】



    • 给你找了一篇非常好的博客,你可以看看是否有帮助,链接:关于hibernate在数据库中生成hibernate_sequence表时报错的解决方案
    • 除此之外, 这篇博客: Hibernate框架基础——映射主键属性中的 sequence 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

      这里写图片描述
      sequence标识符生成器利用底层数据库提供的序列来生成标识符。
      Hibernate在持久化一个News对象时,先从底层数据库的news_seq序列中获得一个唯一的标识号,再把它作为主键值。
      适用范围:

      • 由于sequence生成标识符的机制依赖于底层数据库系统的序列,因此,要求底层数据库系统必须支持序列。支持序列的数据库包括:DB2、Oracle等。
      • OID必须为long、int或short类型,如果把OID定义为byte类型,在运行时会抛出异常。

      示例代码:

      <?xml version="1.0"?>
      <!DOCTYPE hibernate-mapping PUBLIC
              "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
              "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
      
      <hibernate-mapping package="cn.itcast.d_hbm_id">
          <class name="User" table="t_user">
              <!-- 
                  id元素用于映射主键
                  子元素generator是用于指定主键生成策略(某种方式生成主键的值)的。
              -->
              <id name="id">
                   <!-- 
                      sequence:在DB2、PostgreSQL、Oracle、SAP DB、McKoi中使用序列(sequence) 
                      在使用Oracle数据库时可以使用这一个。
                  -->
                  <generator class="sequence"/>
              </id>
              <property name="name" /> 
          </class>
      </hibernate-mapping>

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 修改了问题 12月29日
  • 创建了问题 12月29日

悬赏问题

  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥20 测距传感器数据手册i2c
  • ¥15 RPA正常跑,cmd输入cookies跑不出来