项目中使用oracle,和hibernate,需要为一个model中的一列,让它自动更新,使用**.nextval.
如果使用jdbc,就很简单,就是直接在insert,update语句中为那一列指定为**.nextval.
但在hibernate中有一点困难, 我通过查看hibernate代码,得到了以下解决方案。
以下是解决方案步骤:
我觉得这个应该不是最佳的解决方案,如果是的话,那么Gavin King 需要enhance代码了。
有没有高手聊聊?
您还没有登录,请您登录后再发表评论
CURRVAL 和 NEXTVAL** - CURRVAL 返回序列的当前值,NEXTVAL 返回序列的下一个值。 **16. 先计算选择器的值再执行语句:** - **正确答案:c. CASE** - CASE语句可以在执行之前根据不同的条件计算选择器的值。 *...
Hibernate通过`org.hibernate.id.SequenceGenerator`类来实现序列主键生成器。在`nextValue()`方法中,它会与数据库进行交互,获取序列的下一个值。这个过程涉及到JDBC操作,包括SQL的执行和结果的处理。 3. **...
- **CURRVAL和NEXTVAL**:用于获取序列的当前值和下一个值。 - **NEXTVAL和PREVAL**:无效组合。 - **CACHE和NOCACHE**:用于指定序列值是否被缓存。 - **MAXVALUE和MINVALUE**:用于指定序列的最大值和最小值。 **...
- **S1.NEXTVAL**:由于题目中创建了一个序列`S1`,`S1.NEXTVAL`返回序列的下一个值。 - **SNAME**:查询了`sname`字段,结果显示了符合条件的所有男性学生的姓名。 - **结果**:由于题目中只给出了3条男性学生的...
- **默认表空间**:在创建用户时如果没有指定DEFAULT TABLESPACE,则Oracle会为用户分配一个默认表空间。通常这个表空间是SYSTEM表空间,但是管理员可以通过设置参数`default_tablespace`来改变这一行为。 - 其他...
这些资料为初学者提供了关于Hibernate与数据库交互的基础知识,特别是在配置文件设置、主键生成策略以及数据类型的选择方面给出了实用的指导。对于希望深入了解Hibernate及其与不同数据库系统集成的人来说,这些都是...
- **解析**: 在联接视图中,如果一个基表的主键成为了结果集的主键,那么这个基表被称为键保留表。因此,正确答案是**B. 基表的主键是结果集的主键**。 ### 15. 位图索引 - **题目**: 在列的取值重复率比较高的列...
- **解析:** 在Oracle中,可以通过`CURRVAL`和`NEXTVAL`伪列来访问序列的当前值和下一个值。 - **答案:** A.CURRVAL 和 NEXTVAL #### 13. 创建带有错误的视图 - **题目:** 使用哪个选项可以创建带有错误的视图? - ...
- 后序线索二叉树是一种特殊的二叉树,其中每个叶子节点的左右指针指向其后序遍历序列中的前一个和后一个节点,而非空节点的左或右指针指向其后序遍历序列中的前一个节点。 **2. 哈希表** - **知识点:** 哈希表的...
<property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver <property name="hibernate.connection.url...
- 通过`NEXTVAL`函数可以获得序列的下一个值。 **4. 数据类型** - 序列可以基于多种数字数据类型,如`SMALLINT`、`INTEGER`、`BIGINT`或`DECIMAL`。 - 用户定义的独特类型也可以用作序列值。 通过了解DB2数据库...
- 对于字符串 P = ‘cbcacbcc’,next(4) 的值为 2,nextval(7) 的值为 2。 **5. 栈的出栈序列** - A,B,C 进栈后,不可得到的出栈序列包括 BCA、CBA 等。 **6. 二叉树与树的关系** - 在树 T 中,如果 Y 是 X 的...
**解析**: 当在Oracle中创建用户时,如果没有指定默认表空间(通过`DEFAULT TABLESPACE`),那么Oracle将会自动分配一个默认表空间给这个新用户。默认情况下,通常是`SYSTEM`表空间被用作用户的默认表空间。需要注意...
- **序列操作**:NEXTVAL获取下一个值,CURRVAL获取当前值。 **8. 视图** - **视图定义**:虚拟表,基于一个或多个表的结果集。 - **创建视图**:用于简化查询或隐藏数据细节。 以上内容只是对原文档中部分知识...
`id` 字段为主键且不允许为空,`classname` 字段同样不允许为空。 **2. 查询表** - **语法**: `SELECT * FROM 表名;` - **示例**: `SELECT * FROM classes;` - **解释**: 查询`classes`表中的所有数据。 **3. ...
在Oracle数据库系统中,主键是表中的一个或多个字段,用于唯一标识每条记录,确保数据的完整性和一致性。为了实现主键自动增长,Oracle提供了序列(Sequences)这一特性,它能按照预设的规则(通常是递增)生成唯一...
在PL/SQL中,一旦捕获异常,控制权会转移到异常处理块,但在异常处理后,程序并不会自动跳回到异常发生的下一条语句继续执行。如果需要恢复执行流,需要显式地使用`CONTINUE`或`GOTO`等语句来实现。 **4. 查询优化*...
相关推荐
CURRVAL 和 NEXTVAL** - CURRVAL 返回序列的当前值,NEXTVAL 返回序列的下一个值。 **16. 先计算选择器的值再执行语句:** - **正确答案:c. CASE** - CASE语句可以在执行之前根据不同的条件计算选择器的值。 *...
Hibernate通过`org.hibernate.id.SequenceGenerator`类来实现序列主键生成器。在`nextValue()`方法中,它会与数据库进行交互,获取序列的下一个值。这个过程涉及到JDBC操作,包括SQL的执行和结果的处理。 3. **...
- **CURRVAL和NEXTVAL**:用于获取序列的当前值和下一个值。 - **NEXTVAL和PREVAL**:无效组合。 - **CACHE和NOCACHE**:用于指定序列值是否被缓存。 - **MAXVALUE和MINVALUE**:用于指定序列的最大值和最小值。 **...
- **S1.NEXTVAL**:由于题目中创建了一个序列`S1`,`S1.NEXTVAL`返回序列的下一个值。 - **SNAME**:查询了`sname`字段,结果显示了符合条件的所有男性学生的姓名。 - **结果**:由于题目中只给出了3条男性学生的...
- **默认表空间**:在创建用户时如果没有指定DEFAULT TABLESPACE,则Oracle会为用户分配一个默认表空间。通常这个表空间是SYSTEM表空间,但是管理员可以通过设置参数`default_tablespace`来改变这一行为。 - 其他...
这些资料为初学者提供了关于Hibernate与数据库交互的基础知识,特别是在配置文件设置、主键生成策略以及数据类型的选择方面给出了实用的指导。对于希望深入了解Hibernate及其与不同数据库系统集成的人来说,这些都是...
- **解析**: 在联接视图中,如果一个基表的主键成为了结果集的主键,那么这个基表被称为键保留表。因此,正确答案是**B. 基表的主键是结果集的主键**。 ### 15. 位图索引 - **题目**: 在列的取值重复率比较高的列...
- **解析:** 在Oracle中,可以通过`CURRVAL`和`NEXTVAL`伪列来访问序列的当前值和下一个值。 - **答案:** A.CURRVAL 和 NEXTVAL #### 13. 创建带有错误的视图 - **题目:** 使用哪个选项可以创建带有错误的视图? - ...
- 后序线索二叉树是一种特殊的二叉树,其中每个叶子节点的左右指针指向其后序遍历序列中的前一个和后一个节点,而非空节点的左或右指针指向其后序遍历序列中的前一个节点。 **2. 哈希表** - **知识点:** 哈希表的...
<property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver <property name="hibernate.connection.url...
- 通过`NEXTVAL`函数可以获得序列的下一个值。 **4. 数据类型** - 序列可以基于多种数字数据类型,如`SMALLINT`、`INTEGER`、`BIGINT`或`DECIMAL`。 - 用户定义的独特类型也可以用作序列值。 通过了解DB2数据库...
- 对于字符串 P = ‘cbcacbcc’,next(4) 的值为 2,nextval(7) 的值为 2。 **5. 栈的出栈序列** - A,B,C 进栈后,不可得到的出栈序列包括 BCA、CBA 等。 **6. 二叉树与树的关系** - 在树 T 中,如果 Y 是 X 的...
**解析**: 当在Oracle中创建用户时,如果没有指定默认表空间(通过`DEFAULT TABLESPACE`),那么Oracle将会自动分配一个默认表空间给这个新用户。默认情况下,通常是`SYSTEM`表空间被用作用户的默认表空间。需要注意...
- **序列操作**:NEXTVAL获取下一个值,CURRVAL获取当前值。 **8. 视图** - **视图定义**:虚拟表,基于一个或多个表的结果集。 - **创建视图**:用于简化查询或隐藏数据细节。 以上内容只是对原文档中部分知识...
`id` 字段为主键且不允许为空,`classname` 字段同样不允许为空。 **2. 查询表** - **语法**: `SELECT * FROM 表名;` - **示例**: `SELECT * FROM classes;` - **解释**: 查询`classes`表中的所有数据。 **3. ...
在Oracle数据库系统中,主键是表中的一个或多个字段,用于唯一标识每条记录,确保数据的完整性和一致性。为了实现主键自动增长,Oracle提供了序列(Sequences)这一特性,它能按照预设的规则(通常是递增)生成唯一...
在PL/SQL中,一旦捕获异常,控制权会转移到异常处理块,但在异常处理后,程序并不会自动跳回到异常发生的下一条语句继续执行。如果需要恢复执行流,需要显式地使用`CONTINUE`或`GOTO`等语句来实现。 **4. 查询优化*...