(0 ms) [main] ERROR: org.hibernate.TbnewsDAO#save : save failed
org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save(): org.hibernate.Tbnews  
     <id name="id" type="java.lang.Integer">
            <column name="id" />
            <generator class="native" />
        </id>为什么这样还会错
id列是这样的:id int identity(1,1) primary key,

解决方案 »

  1.   

    已解决:粗心把<generator class="native" />写在别的.hbm.xml文件里去另一个问题: public void save(Tbnews transientInstance) {
    log.debug("saving Tbnews instance");
    try {
    getSession().save(transientInstance);
    log.debug("save successful");
    } catch (RuntimeException re) {
    log.error("save failed", re);
    throw re;
    }
    }TbnewsDAO td = new TbnewsDAO();
    td.save(news);//news已经有数据,为什么保存不了,怎么改? 
      

  2.   

    谢谢,解决了,commit一下就可以了,还有个问题:
    public static void main(String[] args) throws ParseException {
    // TODO Auto-generated method stub
    String bDate = "Thu, 13 May 2010 09:53:07 GMT";       
    String eDate = "Thu, 13 May 2010 10:10:27 GMT";       
     Date currentTime = new Date();
       SimpleDateFormat formatter = new SimpleDateFormat("EEE,dd MMM yyyy HH:mm:ss z");//这个怎么转???直接让Hibernate保存Thu, 13 May 2010 09:53:07 GMT到日期里去好像不行
       java.util.Date dateString1 = null;
    try {
    // String dateString;
    dateString1 = formatter.parse(bDate);
    } catch (ParseException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    System.out.print(dateString1);
      

  3.   

    hibernate保存的仅仅是时间对象数据而以,至于你要展现出什么形式来,完全可以取出来之后自己定义
      

  4.   

    你那个日期格式我不知道咋转 我就知道yyyy-MM-dd咋转。。
      

  5.   

       SimpleDateFormat formatter = new SimpleDateFormat("EEE,dd MMM yyyy HH:mm:ss z",Locale.US);
    加个",Locale.US);就可以了,但是hibernate保存的时候还有错误:
    java.text.ParseException: Unparseable date: "2010-05-14 08:29:03"
    at java.text.DateFormat.parse(DateFormat.java:337)
    at org.news.TestXml.getNews(TestXml.java:113)
    at org.test.NewsSaveTest.main(NewsSaveTest.java:17)
      

  6.   

    hibernate保存的仅仅是时间对象数据而以,至于你要展现出什么形式来,完全可以取出来之后自己定义