hibernate 扫描实体类的gethibernate 扫描实体类template.save是从实体类里面得到值,进行写

Hibernate+Spring:getHibernateTemplate与当前线程及事务提交问题?
Hibernate+Spring:getHibernateTemplate().getSessionFactory().getCurrentSession().beginTransaction().commit()难题!-----------------------------------有HibernateDAO extends HibernateDaoSupport implements myDAOInterface**其内的方法:public void save(Object object) {getHibernateTemplate().save(object);}进行添加操作的时候,能够从控制台看到SHOWSQL信息,但是数据库当中没有数据插入(我猜测是其事务没有进行提交)于是利用以下各式进行提交:1.getHibernateTemplate().getSessionFactory().openSession().beginTransaction().commit()2.getHibernateTemplate().getSessionFactory().openSession().getTransaction().commit()3.getHibernateTemplate().getSessionFactory().getCurrentSession().getTransaction().commit()4.getHibernateTemplate().getSessionFactory().getCurrentSession().beginTransaction().commit()其中只有4能够正常执行,并且插入数据。其它三个都发出不同异常,有的是没有事务等,有的是没有绑定SESSION的。补充:a.在hibernate.cfg.xml当中,已经设置了&property name=&current_session_class_name&&thread&/property&(大概是以上式子,我现在在网吧,没有用自己电脑,不知道记错没?)其中在1,2形式的错误当中,出现no session 绑 to threadb.在applicationContext.xml当中,配置了事务管理(即仅仅配置了&bean id=&transactionManager& ...&.....&/bean&疑问:getHibernateTemplate()如果才能得到当前被ThreadLocal绑定的Session,即,除了通过getHibernateTemplate().getSessionFactory().getCurrentSession().beginTransaction().commit()来让事务提交,还有没有其它办法,让它完成提交任务???-----------------------------以上的疑问来自于代码的修改过程中发出的,先前的SAVE方法是:利用&property name=&current_session_class_name&&thread&/property&设置之后public class HibernateDAO {public void save(Object o) {HibernateUitl.打开currrentSESSIONSESSION开启事务。。。主要操作....事务提交。。。。currentSESSION关闭}}再之后,配置transactionManager这之后的代码,主变成了getHibernateTemplate()相关的操作,而不是getCurrentSession()的操作:public class HibernateDAO {public void save(Object o) {getHibernateTemplate()完成 主要操作....}}变成这样之后,但难以对事务进行提交(最上边的方法4是可以)请问:getHibernateTemplate()来操作时,什么时候会开启Session,什么方法能够得到currentSession?
09-06-29 &
没有正确配置spring的事务啊……你在action类那里调用dao类的方式,或者说写的代码明显有问题!……你不会spring那里没有配置bean,还有方法也不会没有在spring里管理吧?总之不复杂但是比较繁琐的一些工作估计你都没做……………………
请登录后再发表评论!SSH框架中 用到的 getHibernateTemplate().save(); 方法的一点疑问, SSH框架中 用到的 getHibernate
SSH框架中 用到的 getHibernateTemplate().save(); 方法的一点疑问 用SSH框架做用户注册,我想保存一个对象进数据库,对象是studen,属性是id,username,password。使用了getHibernateTem骇z⒎嗪容惫婪硖ǜplate().save();方法。但是注册的时候不知道student 的id是多少。调试的时候出现”could not get next sequence value “。请问大神应该怎么解决?问题补充:
注册的时候只得到username 和 password 的值,id应该是数据库自动生成的。Student表在反转的时候有三个属性:id,username,password
。在调试的时候action得到的student对象的id是空值。所以才出现could not get next sequence value “。请问大神应该怎么解决? yy12-12-18 SSH框架中 用到的 getHibernateTemplate().save(); 方法的一点疑问
你配置id的时候配置了主键自动生成?比如:&generator class=&native& /& 这样会使用序列Sequence的,然后你在创建student的时候有给他的ID传了值这样插入到数据库导致报错如果你要自己对Student对象的id进行赋值的话,记得好像id应该配置成:&generator class=&assigned& /&希望对你有帮助
貌似 getHibernateTemplate().save()会返回一个 值,这个值就是刚刚生成的ID,你试试另外getHibernateTemplate().save(student);执行完后,student对象 就已经存在 id;(执行save方法之前,student对象没有id,但是执行完save之后,student便是持久态,里面骇z⒎嗪容惫婪硖ǜぞ陀辛ID)
配置数据库序列生成对象
&generator class=&increment& /&你不会是配置了 sequence 吧。
热心网友
数据库序列化了?
热心网友<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&关于Hibernate save方法执行之后得到的id与数据库中实际存入值的id不一致的问题
今天在写一个程序时,发生了件很奇怪的事,以前一直没有注意到。
这次的级联操作我不用hibernate帮我来做,我想自己实现它,所以我在service层的第二个操作之前得到第一个操作的id。
试验几次后,发现hibernate返回来的id与数据库中存的id不一致,差好多,几经研究,终于发现了问题,原来是我在数据库中加了触发器,导致这个问题。
我想大概是这样:
当执行this.getHibernateTemplate().save(obj)时,hibernate执行了三步操作:
1.去数据库中找sequence的下一个值,即应该存入的id
select & & & & backrole_seq.nextval& & & from & & & & dual
如果在实体类中没有指定是哪个sequence,它会去hibernate_sequence中找,如果不存在此序列,则会无法插入数据。
2.执行实体类的setId方法,将id赋进去.
3.执行sql的save方法。
因此,当数据库中本身存在着触发器时,在执行了sql的save方法之中,数据库本身又改变了它的id。然后才真正地存入到数据库中。
所以当数据库中有触发器时,会导致存入实体之后,再用getId()方法拿到的id并不是数据库中的id,从而影响下一步操作的正确性。
因此呢,我是把数据库中的触发器去掉,然后针对每一个实体类,都定义一个sequence,然后在hibernate层用此数据库建立的sequence就可以了。
@SequenceGenerator(name=&backrole_s&,sequenceName=&backrole_seq&) @GeneratedValue(generator=&backrole_s&) @Column(name=&id&)
public int getId() {
数据库中:
drop sequence backrole_SEQ; create sequence backrole_SEQ minvalue 1 maxvalue 999 start with 1 increment by 1 cache 20;
Hibernate执行createSQLQuery查询与在数据库中查询的结果不一致的问题
今天发现一个奇怪的问题,先看如下SQL语句: SELECT a.num, b.num, a.depart FROM ( ( SELECT count(depart_Id) AS num, depart_Id AS depart FROM tiku_class GROUP BY depart_id ) a
hibernate+oracle返回的ID和数据库的ID不一致
最近在项目中遇到一个问题,因为用的是ORACLE数据库,所以有一些表是建立了序列和触发器来使添加进去的数据ID自动增加1.因为有一个操作是同时保存几个表的数据,所以就要用到先插入数据的id存到另一个表中。 奇怪的现象发生了:返回的ID,和数据库中的ID不对应,都是相差1.例如hibernate返回的是259,数据库中就是260.经过
Hibernate save()和insert()方法不能写入数据库的问题
session.save() getHibernateTemplate.save()
应用MyEclipse集成的Hibernate工具自动生成的代码,经常会遇到这种不写数据的问题.也就是当你执行一条增加或修改语句时,程序执行正常没有异常,查看sql语句确实执行了insert或update命令,可是当你查看
请教关于hibernate和jdbc的问题
我是新来的...想跟大家讨论个问题..
我刚换完工作,现在公司主要是做工作流的,电子政务方面的...发现公司产品的数据库底层都是用jdbc,我有个疑问,为什么不采用hibernate事务来管理呢...他们的效率哪个好?
:(.....没人啊???
2 楼 抛出异
关于Hibernate获取JDBC连接 直接执行SQL
今天要做一个显示数据库列表的功能,不想直接用JDBC,呵呵 于是用hibernate,由于对hibernate 不熟悉,想执行一条语句&show databases& 都找不到办法... 在网上找了下,说是使用 session.connection(),但是在 hibernate3中,这个方法不推荐使用,但是将就先用吧
关于hibernate在处理oracle序列的时候遇到的一些问题分析
现象与该文类似:/fangwenyu/archive//2123929.html
上文的解释没有问题 DBSequence*allocationSize&= IDs & (DBSequence+1)*allocationSize 只有当
关于hibernate 利用c3p0连接mysql 数据库(转)
最近项目用到了hibernate3.0 c3po mysql的数据层组合,开发部署非常顺利,但每天早上访问应用都抛出 Could not open Hibernate session for transaction 异常,Caused by: com.municati
关于hibernate 利用c3p0连接mysql 数据库
最近项目用到了hibernate3.0 c3po mysql的数据层组合,开发部署非常顺利,但每天早上访问应用都抛出 Could not open Hibernate session for transaction 异常,Caused by: com.munic
导致数据库中数据不一致的原因
数据库中有可能会存在不一致的数据。 造成数据不一致的原因主要有:
如果数据库中存在冗余数据,比如两张表中都存储了用户的地址,在用户的地址发生改变时,如果只更新了一张表中的数据,那么这两张表中就有了不一致的数据。
并发控制不当
比如某个订票系统中,两个用户在同一时间订同一张票,如果并发控制不当,可能会导致一张票被两个用户预订的情况。当然这也与
关于使用Hibernate findByExample的注意事项
findByExample是一个很便利的查询的方法,通过传入的实例,进行条件匹配生成查询语句。
但之前一直很少用这个方法,原因是之前发现不知道什么情况下查询结果跟自己想要生成的不同。还是学习方式不同吧,对于陌生的东西出现问题了就不管不用了,这样是不行了。现在又遇到了,却很快的发现问题所在了。
原因其实很简单,findByExa
用了这么久的Hibernate了,今天却遇到一个从未遇到的问题,幸好我思维敏捷,善于联想,才得以在短时间内发现并解决了问题。以下是具体描述。
我在HibernateDAO这个类里增加了一个方法如下:
publicObjectgetById(Classclazz,Stringid)throwsHibern
因session会话问题Hibernate的更新数据库操作无效
  最近一段时间做项目的时候,自已在修改一个功能点,要更改已获取的数据列表中的某行记录内容,并将更改保存到数据库中,已写好了所有业务代码,在调用DAO层Hibernate方法执行数据库更新时,发现一个有意思的问题,程序执行数据库更新操作无任何异常,但是在刷新列表时,却发现该行数据根本没有更改。   经过分析与查找,确认是hibern
ORA-00932:不一致的数据类型:要求-得到的却是CLOB
ORA-00932:不一致的数据类型:要求-得到的却是CLOB
今天在做项目的时候用hibernate做两个结果集的union操作,一直以来我们比较多的在试图里面用到union,而hibernate实际上是不支持union的,只能用nativeSql来代替
同时发现:使用到union,它这时会报ORA-
升级Hibernate带来的ID生成策略问题
之前写了个小应用,用的是嵌入式JavaDB + Hibernate3.6之前的版本(具体记不清了,总之就是buildSessionFactory()还没有过时的时候) 最近想把他换成Hibernate4.2.0。 照理说,只要把buildSessionFactory(),改成这样:
Properties properties = configur
Hibernate 注解 2
这篇主要讲解Hibernate中Annotation的常用注解和ID的生成策略以及联合主键三块;
首先介绍些常用的Annotation注解: 1. 当表名与类名不一致: @Table(name=”数据库表名”)
(javax.persistence)
数据库实例名与服务器名不一致的解决办法
--EXEC sp_addlinkedserver -- @server = 'PSHGQ' --GO --select * from sys.servers --EXEC sp_dropserver 'PSHGQ' --EXEC sp_addserver 'SUGON', local --select @@servername --select ser
关于Hibernate分页类和jdbc的sql分页完美融合
1.先来看这两个核心兄弟方法。
/** * 分页查询函数 * * @param hql * @param pageNo * 页号,从1开始 * @param pageSize * 每页尺寸 * @param values * @return 总记录数和当前页数据的Page对象。 */ @SuppressWarnings(&
[Hibernate]如何针对查询缓存失效的情况,仍同步使缓存数据跟数据库数据保持一致?
如标题所说 这个问题该如何解决呢? 或者存在比较好的方案 使数据 增删改后 使缓存和跟数据库数据保持一致?
还有个问题 如果针对不是基于主键为条件的查询 (load get ) 是否就一定无法使用二级缓存?
还有网上有种说法: 说get无法使用二级缓存 这个应该是错误的吧 至少应该 Hibernate
关于sqlserver数据库增加增加某个特定值的问题
今日,需要对sqlserver 数据库中的某个字段值进行漂白处理,于是开始按着oracle sql的写法进行处理:update table a set a.val=a.val+1 在sqlserver进行执行时,系统总是提示:溢出了整数列。后经证实: 分析:set a.val=a.val+1 这条语句被执行时,数据库
hibernate save没有保存数据到数据库
最近在使用MyEclipse进行项目开发的时侯,发现使用其自带的Hibernate 反向工程生成的dao文件的save方法不能入库: 解决方法如下: 1:首先是主键自增问题: 一般我们常用的主键自增主要是一下几种: increment 主键按数值顺序递增。此方式的实现机制为在当前应用实例中维持一个变量,以保存着当前的最大值,之后每次需要生成主键的
oracle数据库日志文件版本不一致问题处理 早上在启动测试数据库时,发现如下问题:
数据库版本是11.2.0.3
SQL& startup
ORACLE instance started.
Total System Global Area
Fixed Size&
关于Oracle的BLOB、CLOB字段的操作方法(分JDBC和Hibernate两种)持续更新中...
注意:本文采用JDK1.6 和 Oracle ojdbc6 驱动,基于ORALCE 9I 数据库, ojdbc6对应jdk1.6,如果本文的有些函数方法在别的地方不可用或者出现一些莫名其妙的错误,那多半是因为驱动的原因。。。 本文程序所用ojdbc6驱动下载地址:http://d.dow
Hibernate使用get(id)获得的对象进行更改会在事务提交时持久化到数据库中(即使不用update和merge方法)
今天同事发现个问题,从使用get(id)的形式从数据库中获得对象,改变对象的ID,在没有使用update和merge方法的情况下竟然保存到数据库中了。当时很不解,后来就在网上搜,才知道是hibernate把get(id)获得的对象称为持久化对象,对其做的更改会在事务提交
JdbcTemplate 排序查询结果不一致问题
在程序中使用Spring的JdbcTemplate来进行sql操作,其中需要对返回的数据进行排序,由于排序字段可能根据需要的不同而有所变化,于是使用了占位符“?”。执行后没有报错,但是查询出来的数据和直接写sql语句在数据库中查询出来的顺序不一致。 程序代码如下:
JdbcTemplate jdbcTemplate = this.getJdbc
关于将数据库中的数据返回list的问题
从数据库中返回list有两种方法: 一:先将数据库查询的结果集放一条一条的放入userbean userbean的代码大概是: package com. public class UserBean{
private int userId;
private Stri
weblogic hibernate关于No Dialect mapping for JDBC type
weblogic hibernate关于No Dialect mapping for JDBC type :-9 hibernate执行原生sql语句问题(50校招生网)[/url]
最近碰到一个这样的问题,在tomcat,websp
Hibernate配置文件hibernate.cfg.xml的数据库连接配置
如果使用hibernate开发的话,对hibernate的配置了解清楚会很有帮助。下面是找资料总结的,如有错,请不吝指出,谢谢~ 下面是关于JDBC连接配置中最重要的配置: 1. hibernate.connection.driver_class : 设置连接数据库的驱动. 2. hibernate.connectio
关于2.6.30.4在创建bus总线时的bus_id的问题
在国嵌视频里有个问题困扰了我好久,对于内核的不熟悉,一开始是出现了使用空指针的问题,部分错误提示如下 Unable to handle kernel NULL pointer dereference at virtual address
pgd = c3ab4000&
关于phpexcel导出颜色的一些问题,用phpexcel做导出的excel的颜色怎么和网页中的颜色显示不一致呢?想要知道到底是怎么回事?应该如何来解决呢?PHP代码细节如下: PHP code:
&?php require_once './PHPExcel.php'; require_once './Excel5.php'; require_once './get_e
hibernate 批量保存数据的问题
在service层的for循环里调用dao层方法,执行this.getHibernateTemplate().save()语句保存数据,居然出现保存不全,比如本意是保存5个数据,却只保存了3个,仔细看了hql语句,原来每次执行插入语句时是在下一次循环的时候,查了半天资料,解决办法如下 getSession().save(rolepower); getSes
问题:通过hibernate连接数据库,获取数据库中的数据
这个HRSystem是仿照书中的代码编写的,系统重建的过程可以视同于在此发表博文的时间顺序 数据库: mysql 前面调试了页面的跳转,问题解决后现在又出现了心的问题 背景: 1、通过页面穿过来的用户名及密码,通过连接数据库,在数据库中查找是否存在此人信息 2、在本系统中的设计中, employee 和 manager 使用同一张表(e
记一次hibernate无法取得jdbc插入数据的问题折腾
大概情况如下 前端:struts2+spring3+hibernate3 + mysql 主要用于取得数据库的数据显示在页面,含有少量的数据更新操作。 后端:jdbc + mysql 用于接收某客户端发来的数据(socket通信),并存入数据库,供前端显示。
问题: jdbc可以成功插入数据库,但前端无法取得jdbc插入的
续《表扫描与索引扫描返回的行数不一致》
续《表扫描与索引扫描返回的行数不一致》
上篇文章主要介绍了如何从分析表得到的报错,以及trace中的信息,判断表返回的记录与索引返回记录不一致时的处理方式。下面这篇文章则介绍了针对ORA-1499进行问题排查的一些基本方法。
OERR: ORA-1499 table/Index Cross Reference Failure - see trace
关于hibernate 错误 Could not execute JDBC batch update
@author 阙超强 @time
11:48:05 此文档主要介绍我在本周工作中遇到的2个问题以及解决方法。 一. 关于hibernate 错误 Could not execute JDBC batch update。 在本周星期二我做某个对数据库表修改的功能时,老是出现
hibernate 执行原生sql或存储过程数据库连接问题
最近项目出现个问题,就是tomcat跑一段时间就会假死,页面能打开但是无法登陆,经过定位发现是数据库连接池满了,因为我之前hibernate用得不多,所以就写了几个测试代码来验证下哪种情况导致的。数据库持久层用的hibernate,所以只有执行原生sql和存储过程时会手动获取连接,那么问题应该就是出现在这些地方,但是之前没有出现问题,
关于php与ios通信加密的问题 服务器用的php,现在想与ios客户端通信,但要在传输中进行加密,php用到了discuz的authcode算法,ios客户端是公司外包出去做的。他们在转换算法的过程中遇到问题。
PHP中有个内置函数chr()作用是根据参数求对应的ASCII码字符。可是同样的ASCII码到了IOS下,转换的字符就有问题。经测试127以内的字符正常,大于127的就不一致了。请教是
关于jsp中数据库的连接问题
我用的是sql server 2005 ,就用2005举例吧!
连接数据库有三方面问题:
1.数据库权限问题,也就是密码登陆问题,在我前面的文章已经详细介绍了,这里就不说了;
2.数据库驱动问题,对于2005来说,驱动基本上能用
Data guard standby数据库的ctl文件与数据文件不一致导致的ORA-16012
目前在弄Oracle dataguard做异地容灾。 一切配置按照文档来,没出什么问题。 但是其他同事创建的时候发现备库无法和主库同步,备库却可以处于正常的mount状态。 查看primary数据库的alert.log 其中有错误 Errors in file /opt/app/oracl
一个关于数据库编码问题的总结
做了一个struts2与SH整合的项目。结果插入中文时老报错。英文没问题。对于数据库字符,都说在连接的地方 加个?useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8
结果加了还不行。 进入 my.in的文件。修改了数据库的 默认编码,gbk,gb2312,u
表扫描与索引扫描返回的行数不一致
某个应用最近总出现死锁,其中一些是因为报了索引和数据行存在不匹配的问题,MOS中有如下文档可以参考。
ORA-1499. Table/Index row count mismatch(文档 ID ) 现象: 使用“validate structure cascade”分析表时报ORA-1499的错误,trace文件中包含“Table/Inde}

我要回帖

更多关于 hibernate 实体类注解 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信