急!求助!Hibernate中遇到Could not synchronize database state with session问题
我的bean 是:
====================================bean(Managers)=================================
public class Managers implements java.io.Serializable {
// Fields
private Long id;
private Users users;
private String managerName;
private String password;
private Long isValid;
private Long managerType;
private Long buildTime;
private Long modifyTime;
private long[] ints;
// Constructors
public long[] getInts() {
return ints;
}
public void setInts(long[] ints) {
this.ints = ints;
}
/** default constructor */
public Managers() {
}
/** full constructor */
public Managers(Users users, String managerName, String password,
Long isValid, Long managerType, Long buildTime, Long modifyTime) {
this.users = users;
this.managerName = managerName;
this.password = password;
this.isValid = isValid;
this.managerType = managerType;
this.buildTime = buildTime;
this.modifyTime = modifyTime;
}
// Property accessors
public Long getId() {
return this.id;
}
public void setId(Long id) {
this.id = id;
}
public Users getUsers() {
return this.users;
}
public void setUsers(Users users) {
this.users = users;
}
public String getManagerName() {
return this.managerName;
}
public void setManagerName(String managerName) {
this.managerName = managerName;
}
public String getPassword() {
return this.password;
}
public void setPassword(String password) {
this.password = password;
}
public Long getIsValid() {
return this.isValid;
}
public void setIsValid(Long isValid) {
this.isValid = isValid;
}
public Long getManagerType() {
return this.managerType;
}
public void setManagerType(Long managerType) {
this.managerType = managerType;
}
public Long getBuildTime() {
return this.buildTime;
}
public void setBuildTime(Long buildTime) {
this.buildTime = buildTime;
}
public Long getModifyTime() {
return this.modifyTime;
}
public void setModifyTime(Long modifyTime) {
this.modifyTime = modifyTime;
}
=====================================Managers.hbm.xml================================
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<class name="com.company.fund.bean.Managers" table="MANAGERS" schema="FUNDMANAGER">
<id name="id" type="java.lang.Long">
<column name="ID" precision="22" scale="0" />
<generator class="sequence">
<param name="sequence">MANAGERS_SQ</param>
</generator>
</id>
<many-to-one name="users" class="com.company.fund.bean.Users"
fetch="select">
<column name="OWNER_ID" precision="22" scale="0" />
</many-to-one>
<property name="managerName" type="java.lang.String">
<column name="MANAGER_NAME" length="20" />
</property>
<property name="password" type="java.lang.String">
<column name="PASSWORD" length="20" />
</property>
<property name="isValid" type="java.lang.Long">
<column name="IS_VALID" precision="1" scale="0" />
</property>
<property name="managerType" type="java.lang.Long">
<column name="MANAGER_TYPE" precision="1" scale="0" />
</property>
<property name="buildTime" type="java.lang.Long">
<column name="BUILD_TIME" precision="22" scale="0" />
</property>
<property name="modifyTime" type="java.lang.Long">
<column name="MODIFY_TIME" precision="22" scale="0" />
</property>
</class>
</hibernate-mapping>
=====================================jsp页面(struts2)==================================================
<s:form action="addManagerAction.action" namespace="/admin_user"
id="addManagerForm">
<s:property value="%{getText('id')}"/>
用户名:<s:textfield name="managers.managerName"></s:textfield>
<br>
密码:<s:password name="managers.password"></s:password>
<br>
<s:hidden name="managers.isValid" value="0"></s:hidden>
<s:submit value="注册" />
</s:form>
==================================提交后能够到达dao 但是到了dao 报错======================
public boolean saveManager(Managers manager) {
// TODO Auto-generated method stub
try {
this.getHibernateTemplate().save(manager);
getHibernateTemplate().flush();
System.out.println("插入manager 成功!");
} catch (DataAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("插入manager 失败!"+manager.getManagerName()+"+++++"+manager.getPassword());
return false;
}
return true;
}
===============================报错信息=========================================
Hibernate: select MANAGERS_SQ.nextval from dual
Hibernate: insert into FUNDMANAGER.MANAGERS (OWNER_ID, MANAGER_NAME, PASSWORD, IS_VALID, MANAGER_TYPE, BUILD_TIME, MODIFY_TIME, ID) values (?, ?, ?, ?, ?, ?, ?, ?)
2009-07-20 07:17:31,437 WARN [org.hibernate.util.JDBCExceptionReporter] - SQL Error: 942, SQLState: 42000
2009-07-20 07:17:31,437 ERROR [org.hibernate.util.JDBCExceptionReporter] - ORA-00942: 表或视图不存在
2009-07-20 07:17:31,437 WARN [org.hibernate.util.JDBCExceptionReporter] - SQL Error: 942, SQLState: 42000
2009-07-20 07:17:31,437 ERROR [org.hibernate.util.JDBCExceptionReporter] - ORA-00942: 表或视图不存在
2009-07-20 07:17:31,562 ERROR [org.hibernate.event.def.AbstractFlushingEventListener] - Could not synchronize database state with session
org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update
=========================问题贴===========================
我的程序到了dao层在执行的时候,就报Could not synchronize database state with session错
请各位大侠帮助!