hibernate事务开启不成功的错误

问题描述

hibernate事务开启不成功的错误

package cn.jbit.test;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;

import cn.jbit.entity.User;
import cn.jbit.util.HibernateUtil;

public class test {
private static final SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");

public static void main(String[] args) {
    Session session=null;
    Transaction tx=null;
    try {
    Configuration cfg=new Configuration().configure();
    ServiceRegistry serviceRegistry=new ServiceRegistryBuilder().applySettings(cfg.getProperties()).buildServiceRegistry();
    SessionFactory sessionFactory=cfg.buildSessionFactory(serviceRegistry);
    session=sessionFactory.openSession();
    tx=session.beginTransaction();
    User user=new User();
    user.setName("liufang");
    user.setBorn(sdf.parse("1990-08-06"));
    session.save(user);
    tx.commit();

    } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }catch (Exception e) {
        // TODO: handle exception
        if(session!=null){
            session.getTransaction().rollback();
        }
    }finally{

        HibernateUtil.closeSession(session);
    }

}

}

报错信息:
log4j:WARN No appenders could be found for logger (org.jboss.logging).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Exception in thread "main" org.hibernate.TransactionException: Transaction not successfully started
at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.rollback(AbstractTransactionImpl.java:200)
at cn.jbit.test.test.main(test.java:43)

相应jar包如图所示:

hibernate.xml
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

org.hibernate.dialect.MySQLDialect
com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/test
root

root

true

<!--update
-->

User.hbm.xml配置文件
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<class name="User" table="t_user">
    <id name="id" column="id">
        <generator class="native"><!--
            <param name="table_name">ID_SEQ_TBL_BSC_SEQ</param>
        --></generator>
    </id>
    <property name="name" type="string"/>
    <property name="born" type="timestamp"/>
</class>

解决方案

session.save(user);
tx.commit();
//我在提交时是这样写的:tx.getTransaction().commit();

    还有看提示好像你的日志配置的也有问题,你自己检查一下;
    如果回答对您有帮助,请采纳

解决方案二:

写错了,应该是session.getTransaction().commit();
你的tx=session.beginTransaction();

如果回答对您有帮助,请采纳

解决方案三:

session.getTransaction().commit();

时间: 2024-10-25 18:26:37

hibernate事务开启不成功的错误的相关文章

struts2-spring配置方式管理hibernate事务的情况下,每过一段时间产生的错误

问题描述 spring配置方式管理hibernate事务的情况下,每过一段时间产生的错误 项目的背景是struts2+spring+hibernate3 weblogic服务器集群环境 数据库oracle spring管理hibernate 采用配置的方式,配置在了service层. 数据库连接方面使用了hibernate自带的连接池(用其他第三方连接池也试了,问题依旧) 现象:每过一段时间便会报错:(部分) jdbc rollback failed ... TransactionExcepti

CGLIB实现的一个hibernate事务管理代理类出现的问题,以及一些疑问

问题描述 先声明下,本人系菜鸟一个,问的问题如果类似于1+1为什么等于2,请少拍板这2天在学习CGLIB,一时兴起用CGLIB实现了一个管理hibernate事务的类.代码如下:package com.test;import java.lang.reflect.Method;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.hibernate.Hibernat

【hibernate 执行方法未插入数据库】hibernate的save方法成功执行,但是未插入到数据库

  今天做项目,碰上这个问题: hibernate的save方法成功执行,但是未插入到数据库. Dao层代码: 1 @Override 2 public void save(T t) { 3 this.getSession().save(t); 4 } View Code Service层的代码: 1 @Override 2 public void save(T t) { 3 // TODO Auto-generated method stub 4 dao.save(t); 5 } View C

Win8系统开启限制账号登陆错误次数的方法

Windows 8系统开启限制账号登陆错误次数的方法是: 快捷键 :Win+r 输入 gpedit.msc 找到 计算机配置 - Windows设置 - 安全设置 - 账户策略 – 帐户锁定阈值 – 双击开启,并输入你要限制的次数.

hibernate + c3p0连接池 出现以下错误,求解答!

问题描述 hibernate + c3p0连接池 出现以下错误,求解答! 5C 05-Apr-2016 10:36:43.186 INFO [C3P0PooledConnectionPoolManager[identityToken->2sbh7t9f1rc58zmz5ikx9|52feca18]-AdminTaskTimer] org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading Illega

ssh-SpringMVC+Spring+Hibernate 启动tomcat时出现这个错误怎么解决

问题描述 SpringMVC+Spring+Hibernate 启动tomcat时出现这个错误怎么解决 2012-10-24 11:45:22 org.apache.catalina.core.AprLifecycleListener init 信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the

用hibernate做页面注册报这样错误 could not insert: [com.sxt.po.User]

问题描述 用hibernate做页面注册报这样错误 could not insert: [com.sxt.po.User] org.hibernate.exception.SQLGrammarException: could not insert: [com.sxt.po.User] at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:90) at org.hibernate.exception.

javaweb-求大神,Hibernate与Spring整合报如下错误

问题描述 求大神,Hibernate与Spring整合报如下错误 2015-1-8 15:45:14 org.springframework.context.support.AbstractApplicationContext prepareRefresh 信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@10849bc: display name [org.springframew

mysql-怎么回事,Hibernate这样也能成功,但这么多警告,怎么回事?

问题描述 怎么回事,Hibernate这样也能成功,但这么多警告,怎么回事? 1C 2015-7-14 20:58:10 org.hibernate.annotations.common.reflection.java.JavaReflectionManager INFO: HCANN000001: Hibernate Commons Annotations {4.0.5.Final}2015-7-14 20:58:10 org.hibernate.Version logVersionINFO: