hibernate 读取数据 只有1000条!好奇怪
hibernateaccess数据库只有一个表,有两千多条记录,用MyEclipse生成的pojo类和映射文件,配置文件也都默认,我用HQL查询,不加查询任何条件,结果....
hibernate access数据库只有一个表,有两千多条记录,用MyEclipse生成的pojo类和映射文件,配置文件也都默认,我用HQL查询,不加查询任何条件,结果.list()方法只返回1000条数据,怎么回事呢?
根本没有lazyload,也没有报错,只不过是query.list()得到的List只有1000条,并不是预计的全部两千多条。是不是Hibernate哪块默认是1000了,求大神解释?
------------------------------------------
解:access数据库 用Hibernate得加载HXTT Access驱动,关键就是这个驱动是收费的,妈拉个巴拉的,非破解版的只能一次向数据库发起50次请求,就这个原因!
求大神 共享access驱动,要破解版的HXTT Access jar包
------------------------
自己jdbc解决了, 展开
根本没有lazyload,也没有报错,只不过是query.list()得到的List只有1000条,并不是预计的全部两千多条。是不是Hibernate哪块默认是1000了,求大神解释?
------------------------------------------
解:access数据库 用Hibernate得加载HXTT Access驱动,关键就是这个驱动是收费的,妈拉个巴拉的,非破解版的只能一次向数据库发起50次请求,就这个原因!
求大神 共享access驱动,要破解版的HXTT Access jar包
------------------------
自己jdbc解决了, 展开
4个回答
展开全部
我首先要否定上面两个楼说的内容!
第一,我觉得对于这种技术问题,应该保持一种负责并且严谨的态度去回答,否则会误人子弟!
第二,在回答问题之前,请看好题目,不要瞎白话,混分!
这个和hibernate的lazy没有关系,因为在一张表里,而且楼主也没有说存在多个对象而且对象之间有一定的关系,种种表明就是一个表一个对象。哪里来的lazy!
延迟加载是对存在关联关系的对象的延迟查询的机制。要搞明白什么是延迟!
对于这个问题,我也不能很清楚的回答你。你可以看看是不是我说的下面的问题。
1、你的数据库里的数据都有一个id值。hibernate中对象有3中状态,而hibernate就是根据对象的id值来判断数据库中是不是存在该对象的。如果没有,hibernate可能就当做该对象不存在了。
2、保证你的数据库中的id值的唯一。不存才id值相同的数据。
3、如果你的数据时测试的时候加入了,保证你的数据时commit过的,否则可能出现幻像读的问题。
对于缓存的大小的问题,我这个不太清楚,但是我查了,session缓存对于查询出来的记录数好像没有影响,最多是数据量过大造成内存溢出而已,这个时候为了不出现这种情况,要用到外界缓存,也就是二级缓存!就是在硬盘上开辟一个小空间用来存储查询出来的对象。需要引入相应的jar包。
这个问题啊!知道了,又学到了点!
java连接access 不用jar包!!!!!!
你可以看看我的博客!
http://blog.sina.com.cn/s/blog_4fef5df10100ovoj.html
第一,我觉得对于这种技术问题,应该保持一种负责并且严谨的态度去回答,否则会误人子弟!
第二,在回答问题之前,请看好题目,不要瞎白话,混分!
这个和hibernate的lazy没有关系,因为在一张表里,而且楼主也没有说存在多个对象而且对象之间有一定的关系,种种表明就是一个表一个对象。哪里来的lazy!
延迟加载是对存在关联关系的对象的延迟查询的机制。要搞明白什么是延迟!
对于这个问题,我也不能很清楚的回答你。你可以看看是不是我说的下面的问题。
1、你的数据库里的数据都有一个id值。hibernate中对象有3中状态,而hibernate就是根据对象的id值来判断数据库中是不是存在该对象的。如果没有,hibernate可能就当做该对象不存在了。
2、保证你的数据库中的id值的唯一。不存才id值相同的数据。
3、如果你的数据时测试的时候加入了,保证你的数据时commit过的,否则可能出现幻像读的问题。
对于缓存的大小的问题,我这个不太清楚,但是我查了,session缓存对于查询出来的记录数好像没有影响,最多是数据量过大造成内存溢出而已,这个时候为了不出现这种情况,要用到外界缓存,也就是二级缓存!就是在硬盘上开辟一个小空间用来存储查询出来的对象。需要引入相应的jar包。
这个问题啊!知道了,又学到了点!
java连接access 不用jar包!!!!!!
你可以看看我的博客!
http://blog.sina.com.cn/s/blog_4fef5df10100ovoj.html
展开全部
我估计是你在连接表那里做了lazyload
而lazyload取数据需要session的支持
而你在取完之后就close掉了
所以才会报错的
你只能在取得全部数据之后才可以close session 要不肯定会报错
最简单的解决办法是lazyload=false
但是如果数据量很大的话
需要引入opensessioninview这个过滤器
而lazyload取数据需要session的支持
而你在取完之后就close掉了
所以才会报错的
你只能在取得全部数据之后才可以close session 要不肯定会报错
最简单的解决办法是lazyload=false
但是如果数据量很大的话
需要引入opensessioninview这个过滤器
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数据量太大,默认取1000条,如果要全取,需要设置,这样做对缓存不好
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
文档修复、恢复方法
一、文档格式法
这种方法是将损坏的Word文档转换为另一种格式,然后再将它转换回Word文档格式。这是最简单和最彻底的文档恢复方法。所以如果遇到显示混乱的情况,推荐首先使用这种方法。步骤如下:
1.在Word中打开损坏的文档,选择文件另存为,在保存类型列表中,选择RTF格式(?.rtf),然后单击保存按钮。
2.关闭损坏的文档,打开刚才保存的RTF文件,选择文件另存为,在保存类型列表中,选择Word文档(?.doc),然后单击保存按钮。
3.关闭RTF文档,打开DOC文档。
Word文档与RTF的相互转换将保留其格式,如果这种转换没有修复文件,则可以尝试与其他格式相互转换,这将不同程度地保留Word文档的格式。如果使用这些格式均无法解决本问题,可将文档转换为纯文本格式(?.txt),再转换回Word格式。由于纯文本的简单性,有可能修复损坏处,但是Word文档的所有格式设置都将丢失。
二、重设格式法
Word用文档中的最后一个段落标记关联各种格式设置信息,特别是节与样式的格式设置信息。这样,硬盘坏了怎么办 227,如果我们将最后一个段落标记之外的所有内容复制到新文档,就有可能将损坏的内容留在原始文档中。步骤如下:
1.在Word中打开损坏的文档,选择工具选项,然后选择编辑选项卡,取消使用智能段落选择范围复选框前的钩。这样,杭州笔记本维修,选定整个段落时,Word将不会自动选定段落标记。然后单击确定按钮。
2.选定最后一个段落标记之外的所有内容,方法是:按Ctrl+End组合键,然后按Ctrl+Shift+Home组合键。
3.在常用工具栏中,依次单击复制、新建和粘贴按钮。
三、重建模板法
Word在Normal.dot模板文件中存储默认信息,如果该文件被损坏,Word文档也有可能出问题。创建新的Normal模板的步骤如下:
1.关闭已打开的Word程序。
2.选择开始查找文件或文件夹,在名称框中,键入Normal.dot,在搜索下拉列表中选择安装Word的分区,然后单击开始查找按钮。
3.右键单击搜索结果列表中的Normal.dot,然后选择菜单中的重命名,随便输入一个新的名称,然后确定。
4.启动Word程序。
由于Word无法识别重命名后的Normal.dot文件,西数硬盘维修,Word只能重新创建一个新的Normal模板。创建新的Normal模板后,可以尝试打开损坏的文档。如果问题解决了,那就表明旧的Normal模板确实已经损坏,数据库修复 555。此外,如果你的文档还用到了Normal.dot之外的其他模板,为解决问题,也请尝试重新创建该模板或使用它的较早版本。
一、文档格式法
这种方法是将损坏的Word文档转换为另一种格式,然后再将它转换回Word文档格式。这是最简单和最彻底的文档恢复方法。所以如果遇到显示混乱的情况,推荐首先使用这种方法。步骤如下:
1.在Word中打开损坏的文档,选择文件另存为,在保存类型列表中,选择RTF格式(?.rtf),然后单击保存按钮。
2.关闭损坏的文档,打开刚才保存的RTF文件,选择文件另存为,在保存类型列表中,选择Word文档(?.doc),然后单击保存按钮。
3.关闭RTF文档,打开DOC文档。
Word文档与RTF的相互转换将保留其格式,如果这种转换没有修复文件,则可以尝试与其他格式相互转换,这将不同程度地保留Word文档的格式。如果使用这些格式均无法解决本问题,可将文档转换为纯文本格式(?.txt),再转换回Word格式。由于纯文本的简单性,有可能修复损坏处,但是Word文档的所有格式设置都将丢失。
二、重设格式法
Word用文档中的最后一个段落标记关联各种格式设置信息,特别是节与样式的格式设置信息。这样,硬盘坏了怎么办 227,如果我们将最后一个段落标记之外的所有内容复制到新文档,就有可能将损坏的内容留在原始文档中。步骤如下:
1.在Word中打开损坏的文档,选择工具选项,然后选择编辑选项卡,取消使用智能段落选择范围复选框前的钩。这样,杭州笔记本维修,选定整个段落时,Word将不会自动选定段落标记。然后单击确定按钮。
2.选定最后一个段落标记之外的所有内容,方法是:按Ctrl+End组合键,然后按Ctrl+Shift+Home组合键。
3.在常用工具栏中,依次单击复制、新建和粘贴按钮。
三、重建模板法
Word在Normal.dot模板文件中存储默认信息,如果该文件被损坏,Word文档也有可能出问题。创建新的Normal模板的步骤如下:
1.关闭已打开的Word程序。
2.选择开始查找文件或文件夹,在名称框中,键入Normal.dot,在搜索下拉列表中选择安装Word的分区,然后单击开始查找按钮。
3.右键单击搜索结果列表中的Normal.dot,然后选择菜单中的重命名,随便输入一个新的名称,然后确定。
4.启动Word程序。
由于Word无法识别重命名后的Normal.dot文件,西数硬盘维修,Word只能重新创建一个新的Normal模板。创建新的Normal模板后,可以尝试打开损坏的文档。如果问题解决了,那就表明旧的Normal模板确实已经损坏,数据库修复 555。此外,如果你的文档还用到了Normal.dot之外的其他模板,为解决问题,也请尝试重新创建该模板或使用它的较早版本。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询