如题:
    报的错误为:
      java.lang.IllegalArgumentException: Cannot invoke entity.PetDiary.setDiaryDate - argument type mismatch    PetDiary.hbm.xml里面的日期字段为:
                                        <property name="diaryDate" type="java.util.Date">
                                             <column name="diary_date" length="23" />
                                       </property>     jsp页面: <td width="48%">日期:
                             <html:text property="item.diaryDate" size="10" /></td>
      
    进行其他的操作都没有问题。就是增加时。类型不匹配。有谁遇到过这样的情况,帮忙解决一下。

解决方案 »

  1.   

    补充一下:实体类里面的日期是Date类型的
      

  2.   

    <property name="diaryDate" type="timestamp">
    改成这个试试。
    我一直用这个,没问题。 
      

  3.   


    <property name="diaryDate" type="date"> 
        <column name="diary_date"/> 
    </property> 
      

  4.   

    String 之前用过的。是可以的,可现在要用Hibernate实现,Date是根据数据库的datetime类型自动生成的现在就是想用Date类型。有办法吗。
      

  5.   

    在bean里面改为import java.sql.Date;
    配置文件也改为
       <property name="diaryDate" type="java.sql.Date">
      

  6.   

    把type去掉,oracle好像会默认匹配;嘿嘿!
      

  7.   


    方法一:
    <property name="diaryDate" column="diary_date" type="date"></property>
    方法二:
    <property name="diaryDate">
            <column name="diary_date" sql-type="date"></column>
    </property>
    方法三:
    <property name="diaryDate" type="date">
            <column name="diary_date"></column>
    </property>
      

  8.   

    这个问题确保几个点吧:
    第一,你的前台页面中,标签应该是datetime类型
    第二,配置文件中相应的属性类型为Timestamp。eg:<property id="XXXTime" type="Timestamp" />
    第三,你的数据库字段的类型为DATE
    好好检查一下吧。
      

  9.   

    这个方法好像行得通。但是有报新错误了:
                    
              java.lang.StackOverflowError
    at dao.hibimpl.PetDiaryDAOHibImpl.add(PetDiaryDAOHibImpl.java:36)
    at dao.hibimpl.PetDiaryDAOHibImpl.add(PetDiaryDAOHibImpl.java:36)
    at dao.hibimpl.PetDiaryDAOHibImpl.add(PetDiaryDAOHibImpl.java:36)
    at dao.hibimpl.PetDiaryDAOHibImpl.add(PetDiaryDAOHibImpl.java:36)
    at dao.hibimpl.PetDiaryDAOHibImpl.add(PetDiaryDAOHibImpl.java:36)
    at dao.hibimpl.PetDiaryDAOHibImpl.add(PetDiaryDAOHibImpl.java:36)
      

  10.   

    struts1中使用data要类型转换的
      

  11.   


    public class StackOverflowError
    extends VirtualMachineError
    当应用程序递归太深而发生堆栈溢出时,抛出该错误。
    运行一个程序,JVM会开辟一块内存空间去储存程序进行时的某些信息,当程序运行时需要储存的信息超过了分配的空间,就会出现那样的问题.比如死循环,递归次数过多,等等
      

  12.   

    写个Converter,把页面的字符串转换成date类型的。
      

  13.   

    不用了。现在类型问题已经解决了。form已经接到了值了。能答应出来的。
    出现的新为题就是#15说的。什么东西溢出了
      

  14.   

    错误终于找到了。是子类调用父类时出的错误。this和super的调用
    记下这个错误以后记着了。也给大家提个醒。super和this一定得区分好。