Hibernate 获取某个表全部记录时 奇怪现象 (重复出现某个记录)

今天公司项目的时候

我用Hibernate连接oracle

列出某个表全部记录的时候,发现有一个记录重复了。而直接用jdbc连接,就可以正确列出来。

本来还以为jdbc不稳定,还吓了我一跳。毕竟打算用它作为长久数据库嘛~~

分析了一下,发现正好重复的数据的主键id重复了(或者说,那个jdbc建立那个表的时候,没有设置主键,因为随便测试的)

原来如此:

看来Hibernate是先获取全部id列表,然后再getItemById了。

时间: 2024-10-14 02:30:51

Hibernate 获取某个表全部记录时 奇怪现象 (重复出现某个记录)的相关文章

Hibernate在配置表映射文件时cascade的类型及意义

当关联双方存在父子关系,就可以在 set 处设定 cascade 为 all-delete-orphan 所谓父子关系,即指由父方控制子方的持久化圣明周期,子方对象必须和一个父方对象关联.如果删除父方对象,应该级联删除所有关联的子方对象:如果一个子方对象不再和一个父方对象关联,应该把这个子方对象删除. all-deleteorphan 的能力: 1. 当保存或更新父方对象时,级联保存或更新所有关联的子方对象,相当于 cascade 为 save-update 2. 当删除父方对象时,级联删除所有

如何使用hibernate创建数据表

引言:使用连接数据库来创建实体类,很快就学会了,但是对于怎么用hibernate创建数据表确实用了两天的时间,记录下这次学习的过程. 1.在一开始怎么都搜不到资料,后来才明白,在搜的时候要加正向的,用数据库创建实体类是反向,用实体类创建数据表是正向的,这样搜就可以了 2.在一开始的时候,总是执着于IDE和插件的问题,对于所遇到的问题没有进行深入的研究,导致浪费掉了大量的时间(最后还是没搞定) 3.总是执着于教程上的操作方式,到最后才发现,在新版本里的写法是不一样的,坑之又坑 4.浪费时间最长的是

使用 rowid 和 rownum 获取记录时要注意的问题

我们知道,rowid和rownum在Oracle中都是可以被当做伪劣使用的,主要用来定位表中特定的记录,但它们是有区别的,rowid是和行记录的物理地址对应的,而rownum则不是,是通过返回的记录集来判断首条记录,即rownum=1的记录,然后再去fetch之后的记录,rownum=2.rownum=3--,以此类推.下面来看实验: SQL> conn zlm/zlm Connected. SQL> create table test1 as select object_id,object_

hibernate实现分表后获取insert自增ID方法。

#第一种基于原生的JDBC的方式实现 private Integer insert(POJO entity, String table) throws SQLException { String insertSQL = "INSERT INTO " + table + " (XXXX)VALUES(?,?,?,?,?,?,?,?)"; DataSource dataSource = SessionFactoryUtils.getDataSource(getHiber

通过Hibernate配置获取数据库表的具体信息

/** * 通过Hibernate配置获取数据库表的具体信息 * @author 晚风工作室 www.soservers.com * */ 标签: Hibernate [1].[代码] [Java]代码 跳至 [1] ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 5

(转)html 表单提交时,无法获取到disabled属性的input值

input的字段当为disabled是,无法获取值,无法改变值,所以在表单提交时,获取不到值.可以用randomly解决这个问题. <input name="country" id="country" size=12 value="demo" disabled="disabled" > 但是将disabled = "disabled"换成randomly="randomly"

实训任务05 MapReduce获取成绩表的最高分记录

实训任务05  MapReduce获取成绩表的最高分记录 实训1:统计用户纺问次数 任务描述: 统计用户在2016年度每个自然日的总访问次数.原始数据文件中提供了用户名称与访问日期.这个任务就是要获取以每个自然日为单位的所有用户访问次数的累加值.如果通过MapReduce编程实现这个任务,首先要考虑的是,Mapper与Reducer各自的处理逻辑是怎样的:然后根据处理逻辑编写出核心代码:最后在Eclipse中编写完整代码,编译打包后提交给集群运行. 分析思路和逻辑 (1)       输入/输出

【框架】[Hibernate]利用Hibernate进行单表的增删改查-Web实例

转载请注明出处:http://blog.csdn.net/qq_26525215 本文源自[大学之旅_谙忆的博客] 前面两篇博客已经将Hibernate的基础知识讲解得差不多了,差不多到写实例的时候了. 本篇只用hibernate进行单表的增删改查. 应用Hibernate,对students表进行增删改查. service层和DAO层,我都是直接写实现类了(因为这里主要是演示一下Hibernate的使用),如果是开发项目,注意一定要写接口! 准备数据库: 首先准备一个students表: cr

mybatis添加记录时返回主键id

参考:https://www.cnblogs.com/nuccch/p/7687281.html 场景 有些时候我们在添加记录成功后希望能直接获取到该记录的主键id值,而不需要再执行一次查询操作.在使用mybatis作为ORM组件时,可以很方便地达到这个目的.鉴于mybatis目前已经支持xml配置和注解2种方式,所以分别给予详细介绍. 数据表设计: drop table if exists `test`; create table `test` ( `id` bigint(20) NOT NU