ids for this class must be manually assigned before calling save(): org.hiberna

sb3day 2010-05-13 11:09:29
(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,
...全文
305 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
japt88_115656292 2010-05-14
  • 打赏
  • 举报
回复
hibernate保存的仅仅是时间对象数据而以,至于你要展现出什么形式来,完全可以取出来之后自己定义
sb3day 2010-05-14
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 bearkin 的回复:]
你那个日期格式我不知道咋转 我就知道yyyy-MM-dd咋转。。
[/Quote] 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)
BearKin 2010-05-14
  • 打赏
  • 举报
回复
你那个日期格式我不知道咋转 我就知道yyyy-MM-dd咋转。。
kdflove 2010-05-14
  • 打赏
  • 举报
回复
要转的话,可以在输出的时候转。
焙焙龙 2010-05-14
  • 打赏
  • 举报
回复
hibernate保存的仅仅是时间对象数据而以,至于你要展现出什么形式来,完全可以取出来之后自己定义
sb3day 2010-05-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 bearkin 的回复:]
事务提交了么?
[/Quote]谢谢,解决了,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);
BearKin 2010-05-14
  • 打赏
  • 举报
回复
事务提交了么?
sb3day 2010-05-14
  • 打赏
  • 举报
回复
已解决:粗心把<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已经有数据,为什么保存不了,怎么改?

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧