hibernate 插入不进数据

huang_bq 2011-09-08 05:29:16
写如下代码:

PersonId id=new PersonId("张","三");
PersonDAO pdao=new PersonDAO();
Person person=new Person(id, "女", 22, Date.valueOf("1989-08-02"));
System.out.println(person.getBirth());

Transaction tran=HibernateSessionFactory.getSession().beginTransaction();
pdao.save(person);
tran.commit();
HibernateSessionFactory.closeSession();


但是hibernate 插入不进数据

显示的是
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
而且我在配置文件中加了一句
<property name="show_sql">true</property>
应该可以显示的,但是也没显示出来

请问,怎么解决?
...全文
146 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
凌风雪雕 2011-09-09
  • 打赏
  • 举报
回复
把错误信息贴出来。
paul-yanlx 2011-09-09
  • 打赏
  • 举报
回复
把错误信息贴出来。
AaronLin98 2011-09-08
  • 打赏
  • 举报
回复
log.debug("saving Person instance");
这句log 有打印吗,警告LOG4J没有启动成功。 难道一点错都没抛? 建议一句句跟着调试一下,先知道到哪句不执行了,再贴下进一步的问题。
huang_bq 2011-09-08
  • 打赏
  • 举报
回复
[Quote=引用楼主 huang_bq 的回复:]
写如下代码:

PersonId id=new PersonId("张","三");
PersonDAO pdao=new PersonDAO();
Person person=new Person(id, "女", 22, Date.valueOf("1989-08-02"));
System.out.println(person.getBirth());

Transaction……
[/Quote]


package hbq.hibernate.dao;
// default package

import hbq.hibernate.bean.Person;
import hbq.hibernate.bean.PersonId;
import java.util.Date;
import java.util.List;
import org.hibernate.LockMode;
import org.hibernate.Query;
import org.hibernate.criterion.Example;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class PersonDAO extends BaseHibernateDAO {
private static final Logger log = LoggerFactory.getLogger(PersonDAO.class);
//property constants
public static final String SEX = "sex";
public static final String AGE = "age";




public void save(Person transientInstance) {
log.debug("saving Person instance");
try {
getSession().save(transientInstance);
log.debug("save successful");
} catch (RuntimeException re) {
log.error("save failed", re);
throw re;
}
}

}

其他代码就是增删改查的操作,跟save方法类似,没有用到.
另外PersonDao是利用Myeclipse配置自动生成的.
雪花公子 2011-09-08
  • 打赏
  • 举报
回复
在你的程序里使用hibernate必须有下面几个步骤:

1、建立一个Hibernate configuration对象

2、使用Hibernate configuration对象来建立一个Hibernate factory对象。

3、使用Hibernate factory对象来建立一个Hibernate session对象。

4、使用Hibernate session对象来开始一个事务(可选)

5、使用Hibernate session对象来建立、读取、更新、删除数据库里的数据

6、提交事务(可选)

7、关闭session

风尘中国 2011-09-08
  • 打赏
  • 举报
回复
PersonDAO没有实现才插入的业务逻辑,把PersonDAO的代码贴出来看看

51,408

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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