管理休眠生成器序列
Posted
技术标签:
【中文标题】管理休眠生成器序列【英文标题】:Manage Hibernate Generator Sequence 【发布时间】:2011-06-16 11:54:59 【问题描述】:我需要与Hibernate Generator Sequence相关的帮助。
是否可以使用 Hibernate java 类管理由 hibernate hbm 文件映射的 DB (Oracle) 中定义的序列?
我的意思是,从 java 映射类手动更新序列以生成复合序列。
谢谢!
【问题讨论】:
“更新序列”是什么意思?更新不适用于序列,至少在 Oracle 中是这样。 对不起,更新序列,我的意思是通过休眠使用oracle DB中定义的序列(下一个,当前等...)。可以映射一个序列(注释,hbm.xml...),与 POJO 没有任何关系(例如在休眠 cfg 文件中),并在我需要的任何地方使用它?谢谢 【参考方案1】:要通过 Hibernate 访问序列,您可以使用命名查询。例如,考虑以下链接:define named query in orm.xml with jpa and hibernate 和 http://www.coderanch.com/t/218082/ORM/java/Getting-sequence-hibernate。
【讨论】:
嗨!我已经尝试过这种解决方法,它可以按我的意愿工作。这就是我最终所做的: 1. 在 *.hbm.xml 映射文件中从实体创建 de 查询:<sql-query name="nextSequenceValue"> <![CDATA[ SELECT sec_new_sequence.nextVal FROM dual ]]> </sql-query>
2. 在 java 代码中执行查询:Query query = getSession().getNamedQuery("nextSequenceValue");
它控制序列作为在 java 中管理的包装器。谢谢!以上是关于管理休眠生成器序列的主要内容,如果未能解决你的问题,请参考以下文章