楼主用的是oracle数据库吧,错误原因是没有序列,可以把生成器改成identity啊。
解决方案 »
- spring 与jgroup整合加载ehcache配置文件时报错
- Myeclipse在websphere中进行开发过的前辈请进
- 关于webservice传输自定义对象问题
- 面试遇到的几道题,谢谢高手来指点
- CKEDITOR模态窗口提交表单时能不弹出新窗口吗?
- 请教哪用hsqldb数据库资料,或是哪位大哥用过!!
- 写了一个简单的会话Bean,起动服务器时有一个警告!!
- 我想转向JAVA,但不知从哪下手,恳请各位给个提议,免得我走弯路!
- 那位有intellij idea 4.5的注册机?100分送上
- 各位大神!j2ee项目,代码在本地可以运行,但放到测试环境中就不能运行,同样,测试环境的代码放在本地也不能运行,报下面的错误,还请各位帮忙指点下,非常感谢!急!
- 关于启动服务加载内容的问题
- JUnit 4 抛出异常后怎样继续执行下面的代码
对,是oracle数据库
把生成器改成identity后也报错
Hibernate: insert into LUNATIC.DEPT (NAME, LOCATION, OPERATION) values (?, ?, ?)
org.hibernate.exception.ConstraintViolationException: could not insert: [com.lunatic.vo.Dept]
Caused by: java.sql.SQLException: ORA-01400: cannot insert NULL into ("LUNATIC"."DEPT"."DID")
这样的定义没有见过,但是从字面上来看是对精度的约束,这样的话就有可能是和你定义的SEQUNCE有冲突的原因.可以检查一下你的SEQUNCE的定义是否冲突了.....
CREATE SEQUENCE customers_seq
START WITH 1000
INCREMENT BY 1
NOCACHE
NOCYCLE;
生成器写的是native 用session.save(object)插入,怎么用sequence
根据底层数据库的能力选择identity, sequence 或者hilo中的一个。
你只要在oracle中创建这个Sequence就行:
create sequence hibernate_sequence start with 1 increment by 1;