社区
Java EE
帖子详情
Hibernate加载的问题
ssssss
2010-01-27 09:08:47
现在项目里用到load加载,就只是根据id来加载
但是数据库记录是否取出还得加个判断,看看是否处于删除状态
因为删除记录是通过把删除标记置为删除状态的,就是说不是物理删除而是逻辑删除
那么我该怎么解决呢?
...全文
107
11
打赏
收藏
Hibernate加载的问题
现在项目里用到load加载,就只是根据id来加载 但是数据库记录是否取出还得加个判断,看看是否处于删除状态 因为删除记录是通过把删除标记置为删除状态的,就是说不是物理删除而是逻辑删除 那么我该怎么解决呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
islandrabbit
2010-01-29
打赏
举报
回复
关注。
ssssss
2010-01-29
打赏
举报
回复
[Quote=引用 8 楼 wlcacc 的回复:]
在配置类的时候 有一个where属性:指定一个附加的SQLWHERE条件,在抓取这个类的对象时会一直增加这个条件。
<class
...
where="arbitrary sql where condition"
/>
[/Quote]
<class name="com.bc.moduls.Registerinfo" table="REGISTERINFO" schema="LIU" where="REIN_ISDELETE=0">
...
</class>
这样子可以实现我想要的
REIN_ISDELETE是数据库表的列名,开始写着其对应的po类的属性名
后来想想映射<property>还没定义,应该是数据库表的列名
修改过来就OK了
Purking
2010-01-28
打赏
举报
回复
使用 load 加载就是为了减少访问数据库,结果你的判断一定要访问数据库才能决定是否加载 - -||
这么矛盾。。。。。。。
那你试一试使用条件判断加载对象 Hibernate 的条件判断和 HQL 都行,不过记得在 load(T)
T.hbm.xml 的 <class lazy="true" > 属性打开。
ssssss
2010-01-28
打赏
举报
回复
[Quote=引用 3 楼 purking 的回复:]
使用 load 加载就是为了减少访问数据库,结果你的判断一定要访问数据库才能决定是否加载 - -||
这么矛盾。。。。。。。
那你试一试使用条件判断加载对象 Hibernate 的条件判断和 HQL 都行,不过记得在 load(T)
T.hbm.xml 的 <class lazy="true" > 属性打开。
[/Quote]
经验有限,没有这样做过,能给一个具体的实现么?
如果不用load了,那二级缓存还能生效么?
如果是自己来管理二级缓存,我想我还没有这个能力。。
ssssss
2010-01-28
打赏
举报
回复
[Quote=引用 2 楼 crazylaa 的回复:]
那你就应该改为根据id和status来加载。全部加载之后再判断status,不觉得浪费吗?有可能一次load的全部都是无效的。
[/Quote]
DAO继承org.springframework.orm.hibernate3.support.HibernateDaoSupport
spring来管理Hibernate
这样findById就直接使用getHibernateTemplate().load(className, id)
不知道怎么来改,最好的结果是不用动DAO框架,不必在业务逻辑中实现
各位大侠给一个具体的方案吧!
xinlan1022
2010-01-28
打赏
举报
回复
[Quote=引用 8 楼 wlcacc 的回复:]
在配置类的时候 有一个where属性:指定一个附加的SQLWHERE条件,在抓取这个类的对象时会一直增加这个条件。
<class
...
where="arbitrary sql where condition"
/>
[/Quote]
。
wlcacc
2010-01-28
打赏
举报
回复
在配置类的时候 有一个where属性:指定一个附加的SQLWHERE条件,在抓取这个类的对象时会一直增加这个条件。
<class
...
where="arbitrary sql where condition"
/>
道光2008
2010-01-28
打赏
举报
回复
看不懂你的意思
ssssss
2010-01-28
打赏
举报
回复
up
up
crazylaa
2010-01-27
打赏
举报
回复
那你就应该改为根据id和status来加载。全部加载之后再判断status,不觉得浪费吗?有可能一次load的全部都是无效的。
monkeyking1987
2010-01-27
打赏
举报
回复
你把删除的ID值保存起来.
然后在load时先判断是不是已经保存喽.
没有保存就去数据库取
用自己的业务逻辑来解决这问题.
深入浅出
Hibernate
(PDF)第一部分
从一个基础程序入手,讲述
Hibernate
的基本语法与配置,慢慢升高到缓存、延迟
加载
等高级特性。本书内容深入浅出,先讲述持久层设计与ORM,再由
Hibernate
概述、
Hibernate
基础
Hibernate
高级特性顺序展开,直至
Hibernate
...
hibernate
延迟
加载
和立即
加载
hibernate
延迟
加载
和立即
加载
懒
加载
立即
加载
为什么要用延迟
加载
延迟
加载
与session关闭的矛盾一般可以这样处理 懒
加载
懒
加载
FatchType.LAZY也称为延迟
加载
,是
Hibernate
3关联关系对象默认的
加载
方式,所谓懒
加载
...
全面掌握
Hibernate
框架技术
全面包含
Hibernate
相关技术,老司机手把手带你一起飞,让你少走弯路。 包含
Hibernate
相关技术:
Hibernate
简介、Session API、对象的状态 查询操作(主键查询、HQL查询、Criteria查询、SQL查询、命名查询、doWork) ...
Hibernate
懒
加载
问题
的5种解决方案
2、什么是
Hibernate
懒
加载
** 当我们查询一个对象的时候,在默认情况下,返回的只是该对象的代理对象,当用户去使用该对象的属性时,才会向数据库再一次发出查询语句。 例如,有一个对象是Employee,还有一个对象是...
Hibernate
延迟
加载
问题
通过使用
Hibernate
延迟
加载
机制可以在
加载
数据是不必
加载
全部数据,而是只
加载
我们需要的那部分,其余部分在需要使用时才从数据库装载,以此来减少数据量提高系统性能。
Hibernate
延迟
加载
大致可以分为两类,一类是...
Java EE
67,513
社区成员
225,878
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章