日期:2014-05-20  浏览次数:20742 次

Hibernate的insert操作 有问题???

import org.hibernate.Session;
import org.hibernate.Transaction;

import com.hibernate.mysql.*;
public class RR {

public static void main(String args[])
{
Session session=null;
Transaction tx=null;
try
{
PetId pet=new PetId();
pet.setName("uu");
pet.setPasssword("0613104");
tx=session.beginTransaction();
session.save(pet);
tx.commit();
}
catch(Exception e)
{
if (tx != null) {
tx.rollback();
}
}
finally{HibernateSessionFactory.closeSession();}
}
}

运行后:
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.


查下MySql,select * from pet; 里面的数据不变,什么原因呢?

望高手解答.


------解决方案--------------------
你的session 有没有 getSession() 啊 ?
------解决方案--------------------
忘记session = HibernateSessionFactory.getSession()了吧?
------解决方案--------------------
Configuration config=new Configuration().configure();
SessionFactory factory =config.bulidSessionFactory();
session=factory .openSession();

加上这些吧
------解决方案--------------------
应该不是这个问题吧 要不早抛异常了
------解决方案--------------------
没异常?有点怪!你给其他表插入数据,看下,如果还是这样,那就不是代码问题了,期待高人,
------解决方案--------------------
忘记session = HibernateSessionFactory.getSession()正解,没有异常是因为没有对log4j进行配置,删除log4j.jar或配置log4j就会显示异常了