我正在为employee表创建一个基本的hibernate应用程序,我在ManageEmployee类的帮助下添加,更新,删除和显示记录.
实际上,ManageEmployee是我的测试类,我使用Employee.java和Employee.hbm.xml文件来做上面的事情.
详细信息:数据库:Oracle 11g Hibernate版本:hibernate-release-4.3.8.Final Java版本:Java 1.8
员工表详情:
USER_ID号码(15,0)否1 1
FIRST_NAME VARCHAR2(20 BYTE)是2
LAST_NAME VARCHAR2(20 BYTE)是3
SALARY NUMBER(10,0)是4
错误日志:您可以在日志中看到错误发生3次,因为我在ManageEmployee.java类中使用addEmployee(...)方法添加了3次Employee对象,所以我假设该问题与列的序列生成器有关ID.
我在这里使用天真的发电机.ig Integer empID1 = ME.addEmployee("Zara","Ali",1000);
May 12, 2015 3:34:39 AM org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
ERROR: ORA-02289: sequence does not exist
org.hibernate.exception.SQLGrammarException: could not extract ResultSet
at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:80)
at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:126)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:112)
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:91)
at org.hibernate.id.SequenceGenerator.generateHolder(SequenceGenerator.java:122)
at org.hibernate.id.SequenceGenerator.generate(SequenceGenerator.java:115)
at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:117)
at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:209)
at org.hibernate.event.internal.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:55)
at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:194)
at org.hibernate.event.internal.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:49)
at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:90)
at org.hibernate.internal.SessionImpl.fireSave(SessionImpl.java:715)
at org.hibernate.internal.SessionImpl.save(SessionImpl.java:707)
at org.hibernate.internal.SessionImpl.save(SessionImpl.java:702)
at ManageEmployee.addEmployee(ManageEmployee.java:47)
at ManageEmployee.main(ManageEmployee.java:23)
Caused by: …Run Code Online (Sandbox Code Playgroud)