本来用mysql是好好的(可以与数据库交互),现在用sql server 2005 就出现了问题 
其中我做了修改如下: 
        <!-- 
      <property name="driverClassName" value="com.mysql.jdbc.Driver"/> 
      <property name="url" value="jdbc:mysql://127.0.0.1/myTest"/> 
      --> 
  改为: 
      <property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/> 
      <property name="url" value="jdbc:sqlserver://localhost:1433; DatabaseName=myTest"/> 
      -------------------- 
      <!-- <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect </prop>  --> 
  改为: 
      <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect </prop> 
向数据库插入数据报如下错误(前面部分): 
org.springframework.dao.InvalidDataAccessResourceUsageException: could not insert: [com.test.bean.User]; nested exception is org.hibernate.exception.SQLGrammarException: could not insert: [com.test.bean.User] 
org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:612) 
org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412) 
org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:377) 
org.springframework.orm.hibernate3.HibernateTemplate.save(HibernateTemplate.java:632) 
com.test.Dao.Impl.UserDaoImpl.savaUser(UserDaoImpl.java:30) 
com.test.UserService.Impl.UserServiceImpl.sava(UserServiceImpl.java:37) 
com.test.action.user.UserAction.execute(UserAction.java:32) 
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
java.lang.reflect.Method.invoke(Unknown Source) 
大家知道出现的问题在哪里吗? 谢谢

解决方案 »

  1.   

    com.test.bean.User这个hbm.xml有错吧
      

  2.   

    jar 包改了 user.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">
    <hibernate-mapping> 
    <class name="com.test.bean.User" table="t_user">
         <id name="id">
             <generator class="native"/> 
         </id>
         <property name="firstname"/>
             <property name="lastname"/>
             <property name="age"/>
    </class>
    </hibernate-mapping>
      

  3.   

    这个问题应该在插入字段某个字段的值不对引起的.
    你看看你的主键的值获取的正确吗?用hibernate时,数据库必须要设置一个唯一的主键值
      

  4.   

    我保持的时候出现了如下错误:严重: Exception starting filter struts
    Unable to load configuration. - [unknown location]
    at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:58)
    at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:360)
    at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:403)
    at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:190)
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
    at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4356)
    at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3099)
    at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:404)
    at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1309)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)
    at java.lang.Thread.run(Unknown Source)
    Caused by: Caught exception while loading file struts-default.xml - [unknown location]
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:894)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadDocuments(XmlConfigurationProvider.java:144)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.init(XmlConfigurationProvider.java:111)
    at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:164)
    at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55)
    ... 16 more
    Caused by: java.lang.ClassCastException: org.apache.xerces.parsers.XML11Configuration cannot be cast to org.apache.xerces.xni.parser.XMLParserConfiguration
    at org.apache.xerces.parsers.DOMParser.<init>(Unknown Source)
    at org.apache.xerces.parsers.DOMParser.<init>(Unknown Source)
    at org.apache.xerces.jaxp.DocumentBuilderImpl.<init>(Unknown Source)
    at org.apache.xerces.jaxp.DocumentBuilderFactoryImpl.newDocumentBuilder(Unknown Source)
    at com.sun.org.apache.xalan.internal.xsltc.trax.SAX2DOM.<init>(Unknown Source)
    at com.sun.org.apache.xalan.internal.xsltc.runtime.output.TransletOutputHandlerFactory.getSerializationHandler(Unknown Source)
    at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getOutputHandler(Unknown Source)
    at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerHandlerImpl.setResult(Unknown Source)
    at com.opensymphony.xwork2.util.DomHelper$DOMBuilder.setup(DomHelper.java:205)
    at com.opensymphony.xwork2.util.DomHelper$DOMBuilder.<init>(DomHelper.java:190)
    at com.opensymphony.xwork2.util.DomHelper$DOMBuilder.<init>(DomHelper.java:181)
    at com.opensymphony.xwork2.util.DomHelper$DOMBuilder.<init>(DomHelper.java:167)
    at com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:107)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:885)
    ... 20 more
    2009-10-21 17:28:00 org.apache.catalina.core.StandardContext start
    严重: Error filterStart
    2009-10-21 17:28:00 org.apache.catalina.core.StandardContext start
    严重: Context [/DromitoryItem] startup failed due to previous errors
    2009-10-21 17:28:00 org.apache.catalina.core.ApplicationContext log
    信息: Closing Spring root WebApplicationContext
      

  5.   

    他没找到你的配置文件default.xml 
      

  6.   

    Caused by: Caught exception while loading file struts-default.xml - [unknown location] 
    看下你struts.xml
      

  7.   

    1. 配置文件hibernate.cfg.xml中设置show_sql为true,查看sql语句是否有误!
    2. 数据库的字段包含了数据库的关键字-保留字 
      

  8.   

     could not insert: [com.test.bean.User];