junit单元测试通过,hibernate插入数据后,数据库中没有记录。请问这是怎么回事?

junit单元测试通过,hibernate插入数据后,数据库中没有记录。hibernate3.2+annotation 3.4 GA,数据库是mysql。
在我的机器上没有插入记录,但是在服务器上却能插入,使用的数据库、代码、数据库驱动都完全一样。就是myeclipse版本不一样,这是原因吗?太怪了!

在服务器上插入记录的时候,整个事物由你的容器来完成。你应该配置了事物的相关信息吧。

junit单元测的时候,需要自己手动控制事物。
你在junit测试代码中,首先session打开事物,执行操作后,session提交事务
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-05-09
很可能是事务没有提交。手动COMMIT
或者在hbm.xml里加上
<property name="connection.autocommit">true</property>本回答被网友采纳
第2个回答  2010-11-23
你hibernate配置文件中的建表语句是什么:create-drop?用create或update试试
第3个回答  2010-11-23
没有效果?你有捕捉异常么?

javaee:使用hibernate框架往数据库插入数据的时候,没有报错,数据库中页...
你看看数据库中有没有数据,如果数据库中没有数据,那就是事务没有提交 如果数据库中与数据,那就是页面显示的问题,如果你跳转页面用的是redirect的话,你需要把信息放入session,如果你是forward的话,你需要把数据放入request中

hibernate插入一张表中数据时报错,更新和删除不包错但数据库中的数据...
出现这个错误原因有三个:(1)这个异常是由于主键设置为自增长,而在我们插入记录的时候设置了ID的值导致的。(2)使用的是hibernate的saveOrUpdate方法保存实例 saveOrUpdate要求:只有ID为null才执行save,其他情况下执行update 在保存实例的时候是新增,但你的ID不为null,所有就执行update操作,可是数据库...

hibernate 在单元测试时可以通过,但是一旦放在项目中,程序就跑不动了...
1、你的配置文件数据库用户名或者密码错误。2、你的数据库地址写错了。3、jar包少了,可能hibernate的包少了,也可能少了数据库驱动。4、数据库服务没打开。

java hibernate修改语句执行没有报错,但数据库也没有改变是怎么回事
检查程序中配置的数据源,简单说就是程序有没有连错数据库 检查事务相关配置或编码,是不是没有提交事务

hibernate在配置文件中声明的表如果数据库中没有这张表会自动新建一个...
会,但是只建表不建库。当引入hibernate时,可以创建数据库表的配置文件。可以根据表的配置文件自动在数据库建表。(数据库要预先建立好,因为hibernate只会建表,不会建库)在配置文件 hibernate.cfg.cml 中加入参数 ,配置相关数据源参数和pojo文件。update 表示自动根据model对象来更新表结构,启动hibernate...

怎样在把jsp页面中用户输入的数据的通过hibernate存入到数据库
通过form把数据传到后台,用你对象的属性,如user对象,属性name,那就user.setName(Name),然后session.save(user);trans.commit();session.close();就可以了

hibernate中用hql查询数据库表中更新的项无效该怎么配置呀?
字段?还是数据。如果是字段那么就是楼上说的映射文件没有将关联关系配好。如果是数据的话就有可能是hibernate设置二级缓存了,而你的数据时通过sql直接添加的。这时候hibernate并不知道你添加了数据所以不会去查数据库而是在缓存里读取。这样你就得不到你新加的数据了。

junit如何测试访问数据库的类
如下在测试类中使用junit进行单元测试 下面只是先搭建一个测试框架 搭建好之后测试hibernate访问数据库的代码注意:导入的包不要弄错,都是hibernate的包 public class StudentTest {private SessionFactory sessionFactory;private Session session;private Transaction transaction;@Beforepublic void init(){\/\/...

hibernate 临时对象和游离对象的如何辨别
说初始状态应该是这个对象在还没有插入到数据库时的对象,即使对象有oid,这个oid也是程序产生的,和数据库无关,数据库也没有这条记录。所以,你说对象的oid在数据库已经存在,我认为这个对象的状态就是游离状态。引用但是想确认下是不是这样?有没有说法?我没有研究过hibernate的源码,但是很多其它...

java插入数据库,如何防止死锁现象
当一个用户正在操作某条记录时,这条记录将不能被读取,直到该用户的操作完成,其他用户才能读取到这条记录.优点:数据读取的准确率和最新程度比较好 缺点:并发性比较差,需要上个用户操作完毕了,下个用户才能进行操作.Hibernate里有套封装好了的,这里就给一句关键代码,其他详细的,你自己找找吧.Inventory1 ...

相似回答