大家帮我看看 映射的对不对表:主键   id        bigint  8
       city      varchar 50
       continet  varchar 50addCitybean.hbm.xml:<?xml version="1.0"?>
<!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 - Hibernate Tools
-->
<hibernate-mapping>
 <class name="com.Hibernate.bean.addCitybean" table="City_Port">
  <id name="id" type="java.lang.Long">
   <column name="id"/>
   <generator class="identity"/>
  </id>
  <property name="city" type="java.lang.String">
   <column length="50" name="city" not-null="true"/>
  </property>
  <property name="continet" type="java.lang.String">
   <column length="50" name="continet" not-null="true"/>
  </property>
 </class>
</hibernate-mapping>
bean:package com.Hibernate.bean;import java.io.Serializable;public class addCitybean implements Serializable {
/**
 * 
 */
private static final long serialVersionUID = 5802152950682227293L;
private int id;
private String city;
private String continet;
public addCitybean() {
// TODO Auto-generated constructor stub
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getContinet() {
return continet;
}
public void setContinet(String continet) {
this.continet = continet;
}

}
这么写有问题吗?
 could not insert:[com.Hibernate.bean.addCitybean] 是什么问题?   

解决方案 »

  1.   

    没有保存成功的异常嘛
    主键生成策略是identity,你id列在数据中是标识列类型?
    以后问问题要记得把关键的异常信息贴出来,这信息太简单了,看不出什么来
      

  2.   

    type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: could not insert: [com.Hibernate.bean.addCitybean]
    org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:535)
    org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:433)
    org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    root cause org.hibernate.exception.GenericJDBCException: could not insert: [com.Hibernate.bean.addCitybean]
    org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
    org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
    org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
    org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:40)
    org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2108)
    org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2588)
    org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:48)
    org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248)
    org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:290)
    org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:180)
    org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:108)
    org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:186)
    org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33)
    org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:175)
    org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:27)
    org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
    org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:535)
    org.hibernate.impl.SessionImpl.save(SessionImpl.java:523)
    org.hibernate.impl.SessionImpl.save(SessionImpl.java:519)
    com.Hibernate.addCity.addCityc.addCitycc(addCityc.java:13)
    com.yourcompany.struts.action.AddAction.execute(AddAction.java:49)
    org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
    org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    note The full stack trace of the root cause is available in the Apache Tomcat/5.5.20 logs.全部异常提示
      

  3.   

    Tomcat5.5的啊,我用的是Tomcat6.0的,这个没见过,Tomcate版本不一样异常也不一样的!!!
      

  4.   

    你的bean里面的id是int类型的,配置里面是long类型的,不知道这样有没有关系!!!改成long类型的试试?
    关注
      

  5.   

    id 在数据库中的字段设置成主键自增的 因为你的 hbm映射文件中设置了、
     <id name="id" type="java.lang.Long"> 
      <column name="id"/> 
      <generator class="identity"/> 
      </id> 
    这样与数据库的映射就不对了