`
hzh0725
  • 浏览: 82255 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

在hibernate中为一列(不是主键)指定为**.nextval.

阅读更多

 

项目中使用oracle,和hibernate,需要为一个model中的一列,让它自动更新,使用**.nextval.

 

如果使用jdbc,就很简单,就是直接在insert,update语句中为那一列指定为**.nextval.

 

但在hibernate中有一点困难, 我通过查看hibernate代码,得到了以下解决方案。

 

以下是解决方案步骤:

  • 为这个model指定insert sql,和update sql.
  • 这些sql语句中列的顺序是根据property name来排序的
  • 这个model中的propery不能指定为dynamic.

我觉得这个应该不是最佳的解决方案,如果是的话,那么Gavin King 需要enhance代码了。

 

有没有高手聊聊?

 

 

 

0
0
分享到:
评论

相关推荐

    Oracle数据库应用-复习题及答案.pdf

    CURRVAL 和 NEXTVAL** - CURRVAL 返回序列的当前值,NEXTVAL 返回序列的下一个值。 **16. 先计算选择器的值再执行语句:** - **正确答案:c. CASE** - CASE语句可以在执行之前根据不同的条件计算选择器的值。 *...

    Hibernate主键策略-sequence

    Hibernate通过`org.hibernate.id.SequenceGenerator`类来实现序列主键生成器。在`nextValue()`方法中,它会与数据库进行交互,获取序列的下一个值。这个过程涉及到JDBC操作,包括SQL的执行和结果的处理。 3. **...

    ORACLE数据库期末考试题目及答案.docx

    - **CURRVAL和NEXTVAL**:用于获取序列的当前值和下一个值。 - **NEXTVAL和PREVAL**:无效组合。 - **CACHE和NOCACHE**:用于指定序列值是否被缓存。 - **MAXVALUE和MINVALUE**:用于指定序列的最大值和最小值。 **...

    Oracle试卷及答案

    - **S1.NEXTVAL**:由于题目中创建了一个序列`S1`,`S1.NEXTVAL`返回序列的下一个值。 - **SNAME**:查询了`sname`字段,结果显示了符合条件的所有男性学生的姓名。 - **结果**:由于题目中只给出了3条男性学生的...

    oracle数据库期末考试题及答案.docx

    - **默认表空间**:在创建用户时如果没有指定DEFAULT TABLESPACE,则Oracle会为用户分配一个默认表空间。通常这个表空间是SYSTEM表空间,但是管理员可以通过设置参数`default_tablespace`来改变这一行为。 - 其他...

    Hibernate-add学习

    这些资料为初学者提供了关于Hibernate与数据库交互的基础知识,特别是在配置文件设置、主键生成策略以及数据类型的选择方面给出了实用的指导。对于希望深入了解Hibernate及其与不同数据库系统集成的人来说,这些都是...

    完整word版ORACLE数据库期末考试题目及答案.docx

    - **解析**: 在联接视图中,如果一个基表的主键成为了结果集的主键,那么这个基表被称为键保留表。因此,正确答案是**B. 基表的主键是结果集的主键**。 ### 15. 位图索引 - **题目**: 在列的取值重复率比较高的列...

    oracle期末复习题及答案.doc

    - **解析:** 在Oracle中,可以通过`CURRVAL`和`NEXTVAL`伪列来访问序列的当前值和下一个值。 - **答案:** A.CURRVAL 和 NEXTVAL #### 13. 创建带有错误的视图 - **题目:** 使用哪个选项可以创建带有错误的视图? - ...

    东北大学数据结构模拟试卷2012

    - 后序线索二叉树是一种特殊的二叉树,其中每个叶子节点的左右指针指向其后序遍历序列中的前一个和后一个节点,而非空节点的左或右指针指向其后序遍历序列中的前一个节点。 **2. 哈希表** - **知识点:** 哈希表的...

    快速Java和Oracle集成SSH开发注意问题.pdf

    <property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver <property name="hibernate.connection.url...

    DB2数据库对象基础知识.docx

    - 通过`NEXTVAL`函数可以获得序列的下一个值。 **4. 数据类型** - 序列可以基于多种数字数据类型,如`SMALLINT`、`INTEGER`、`BIGINT`或`DECIMAL`。 - 用户定义的独特类型也可以用作序列值。 通过了解DB2数据库...

    南邮数据结构2001-2006

    - 对于字符串 P = ‘cbcacbcc’,next(4) 的值为 2,nextval(7) 的值为 2。 **5. 栈的出栈序列** - A,B,C 进栈后,不可得到的出栈序列包括 BCA、CBA 等。 **6. 二叉树与树的关系** - 在树 T 中,如果 Y 是 X 的...

    oracle数据库期末考试试题及答案.doc

    **解析**: 当在Oracle中创建用户时,如果没有指定默认表空间(通过`DEFAULT TABLESPACE`),那么Oracle将会自动分配一个默认表空间给这个新用户。默认情况下,通常是`SYSTEM`表空间被用作用户的默认表空间。需要注意...

    Learning in J2EE(游神)

    - **序列操作**:NEXTVAL获取下一个值,CURRVAL获取当前值。 **8. 视图** - **视图定义**:虚拟表,基于一个或多个表的结果集。 - **创建视图**:用于简化查询或隐藏数据细节。 以上内容只是对原文档中部分知识...

    Oracle开发基础

    `id` 字段为主键且不允许为空,`classname` 字段同样不允许为空。 **2. 查询表** - **语法**: `SELECT * FROM 表名;` - **示例**: `SELECT * FROM classes;` - **解释**: 查询`classes`表中的所有数据。 **3. ...

    oracle序列主键自增长

    在Oracle数据库系统中,主键是表中的一个或多个字段,用于唯一标识每条记录,确保数据的完整性和一致性。为了实现主键自动增长,Oracle提供了序列(Sequences)这一特性,它能按照预设的规则(通常是递增)生成唯一...

    数据库试题

    在PL/SQL中,一旦捕获异常,控制权会转移到异常处理块,但在异常处理后,程序并不会自动跳回到异常发生的下一条语句继续执行。如果需要恢复执行流,需要显式地使用`CONTINUE`或`GOTO`等语句来实现。 **4. 查询优化*...

Global site tag (gtag.js) - Google Analytics