`

select hibernate_sequence.nextval from dual的解决方法

    博客分类:
  • db
阅读更多
出现这个异常说明你对应heibernage的映射表里,没有指明序列。解决办法就是指明一个序列,如果没有,就新建一个eg: CREATE SEQUENCE SEQ_TL_COMMON_ITEM INCREMENT BY 1;

<id name="numitemid" type="java.lang.Integer">
	<column name="NUMITEMID" precision="20" scale="0" />
	<generator class="sequence">
		<param name="sequence"></param>
	</generator>
</id>

改为
<id name="numitemid" type="java.lang.Integer">
	<column name="NUMITEMID" precision="20" scale="0" />
	<generator class="sequence">
		<param name="sequence">SEQ_TL_COMMON_ITEM</param>
	</generator>
</id>
分享到:
评论
3 楼 a455642158 2012-10-09  
Wentasy 写道
	<class name="com.oracle.entity.User" table="T_Hibernate_USER" >
		<id name="userId" type="java.lang.Integer">
			<column name="userId" length="32" />
			<generator class="native" />
		</id>

		<property name="userName" type="java.lang.String"></property>
		<property name="userAddress" type="java.lang.String"></property>

		<property name="userAge" type="java.lang.Integer"></property>
		
	</class>


这样配置。


再把Hibernate.hbm2ddl.auto属性设置一下,就不用手动建立sequence了。
2 楼 Wentasy 2012-10-05  
	<class name="com.oracle.entity.User" table="T_Hibernate_USER" >
		<id name="userId" type="java.lang.Integer">
			<column name="userId" length="32" />
			<generator class="native" />
		</id>

		<property name="userName" type="java.lang.String"></property>
		<property name="userAddress" type="java.lang.String"></property>

		<property name="userAge" type="java.lang.Integer"></property>
		
	</class>


这样配置。
1 楼 lei_jingjun 2012-08-30  
改成这样也不行  

<id name="id" type="java.math.BigDecimal">
            <column name="ID" precision="22" scale="0" />
            <generator class="sequence"></generator>
        </id>

相关推荐

    sequence:从数据库生成序列 ID

    String sql = "SELECT my_sequence.NEXTVAL FROM DUAL"; Connection conn = DriverManager.getConnection(DB_URL, USER, PASS); PreparedStatement pstmt = conn.prepareStatement(sql); ResultSet rs = pstmt....

    Hibernate Oracle sequence的使用技巧

    一、为表创建自增长自段有两种,一种是不同的表使用各自的Sequence,方法如下:  1、在Oracle sequence首先... hibernate: select seq_id.nextval from dual hibernate: insert into YXJK.T_YXJK_WHRYTXL (XM000

    hibernate自动增长字段

    SELECT HIBERNATE_SEQUENCE.NEXTVAL INTO :NEW.ID FROM DUAL; END; / ``` 这段脚本创建了一个全局的`SEQUENCE` `hibernate_sequence`,并为`STAFF`表定义了一个触发器,该触发器会在每次插入新记录前为其分配一个...

    让CoolSQL支持Oracle Sequence的GeneratedKey,懂的入

    在插入数据前,先执行`SELECT USER_SEQ.NEXTVAL FROM DUAL`获取Sequence的下一个值,然后将这个值设置为主键字段。 4. **第三方库集成**:如果你的项目已经使用了如MyBatis、Hibernate这样的ORM框架,它们通常已经...

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

    SELECT test_seq.NEXTVAL INTO :NEW.id FROM DUAL; END; / ``` - 当插入新记录时,如果`id`字段为空,则触发器会为其分配下一个序列值。 **7. 表空间的IMP, EXP** - IMP和EXP是Oracle数据库的逻辑备份工具,...

    java生成数据库表序列号

    PreparedStatement pstmt = conn.prepareStatement("SELECT seq_example.NEXTVAL FROM DUAL")) { ResultSet rs = pstmt.executeQuery(); if (rs.next()) { long nextSerial = rs.getLong(1); System.out....

Global site tag (gtag.js) - Google Analytics