首页
新闻
论坛
群组
Blog
文档
下载
读书
Tag
网摘
搜索
.NET
Java
游戏
视频
人才
外包
培训
数据库
书店
程序员
欢迎您:
游客
| 退出
| 登录
注册
帮助
我的帖子
我参与的帖子
我的空间
我的网摘
CSDN
CSDN社区
Java
框架、开源
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
生成帖子
置顶
推荐(加精)
取消推荐(加精)
锁定帖子
移动帖子
取消引用
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
hibernate多表查询
[已结贴,结贴人:zhangwei62766]
加为好友
发送私信
在线聊天
zhangwei62766
半杯水
等级:
可用分等级:
贫农
总技术分:
0
总技术分排名:
313963
揭贴率:
92.86%
发表于:
2008-08-21 14:57:30
楼主
有三个表
单位信息表
tbdepart(deptId , deptname )
单位用户关系表
tbdeptuser(deptId , userId)
用户表
tbuser(userId ,username)
用hibernate怎么查用户对应的单位名称
问题点数:
20
回复次数:
15
显示所有回复
显示星级回复
显示楼主回复
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
burningice44
冰之舞 『아이스 댄스』
等级:
可用分等级:
贫农
总技术分:
4108
总技术分排名:
4983
发表于:
2008-08-21 15:52:03
1
楼 得分:
0
一般不自己写hql语句,而是用三个表之间的主外键关系
对应成配置文件,通过他们间的关系得到。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
zhangwei62766
半杯水
等级:
可用分等级:
贫农
总技术分:
0
总技术分排名:
313963
发表于:
2008-08-21 15:59:10
2
楼 得分:
0
说的太模糊了 能详细点就好了
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
yaoddongjava
等级:
可用分等级:
长工
总技术分:
20
总技术分排名:
175595
发表于:
2008-08-21 16:35:35
3
楼 得分:
0
对于多表查询的问题 , 需要在配置文件里分别设置这三个表的关系,这就涉及到级联查询的问题
你自己可以去看看hibernate的一对一 一对多的查询文档,都讲了如何实现多表查询的问题
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
KingRat525
KingRat
等级:
可用分等级:
贫农
总技术分:
100
总技术分排名:
88985
发表于:
2008-08-21 16:54:41
4
楼 得分:
0
将用户表、单位信息表,通过多对多双向映射。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
zhangwei62766
半杯水
等级:
可用分等级:
贫农
总技术分:
0
总技术分排名:
313963
发表于:
2008-08-21 16:59:04
5
楼 得分:
0
在配置文件里面映射好了 我想要个查询的hql语句啊
谁能帮我写个
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
ansjsun
阿键
等级:
可用分等级:
中农
总技术分:
74
总技术分排名:
175595
发表于:
2008-08-21 22:14:15
6
楼 得分:
0
一般用内部类的
就是
HibernateTemplet().execute(
new HibernateCallback(Session session){
Criteria c = session.createCriteria() ;
c.add()
.........
}
) ;
查处了第一个在内部类中查第二个..记得是在内部类中否则就延迟加载了..
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
dragon2k
东北神龙
等级:
可用分等级:
掌柜
总技术分:
299
总技术分排名:
46357
发表于:
2008-08-21 23:11:51
7
楼 得分:
10
试试,我刚学几天:
tbdepart(deptId , deptname )
tbdeptuser(deptId , userId)
tbuser(userId ,username)
自己配置好多对一(u->d)关系
SQL code
SELECT
d.deptname
from
tbuser u
join
tbdepart d
where
u.userId
=
xxx
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
wellsweng
JavaBean
等级:
可用分等级:
贫农
总技术分:
124
总技术分排名:
78958
发表于:
2008-08-21 23:39:57
8
楼 得分:
0
有个偷懒的办法
<hibernate-mapping>
<class name="com.entity.Billorder" table="BILLORDER" schema="SCOTT" lazy="false">
将lazy设成false
不过会对速度有点小引响
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
kreadk
等级:
可用分等级:
贫农
总技术分:
141
总技术分排名:
74968
发表于:
2008-08-21 23:57:34
9
楼 得分:
10
有三个表
单位信息表
tbdepart(deptId , deptname )
单位用户关系表
tbdeptuser(deptId , userId)
用户表
tbuser(userId ,username)
假设她们对应的类分别是:Depart,De_User,User。
我想可以这样子:
...
De_User deUser=(De_User)session.get(De_User.class,userId);//根据已知的用户ID查询
Depart depart =(Depart )session.get(Depart.class,deUser.getDeptId());
String deptname =depart .getDeptName();//部门名字
...
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
jianpc
逝月
等级:
可用分等级:
贫农
总技术分:
469
总技术分排名:
35440
发表于:
2008-08-22 10:06:55
10
楼 得分:
0
在单位和用户两个实体上分别配置多对多的关系(set)。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
jinsu_st
☆金猪宝宝★
等级:
可用分等级:
贫农
总技术分:
832
总技术分排名:
28191
发表于:
2008-08-22 13:32:44
11
楼 得分:
0
有三个表
单位信息表
tbdepart(deptId , deptname )
单位用户关系表
tbdeptuser(deptId , userId)
用户表
tbuser(userId ,username)
表设计的不懂了。 用户应该只属于一个单位吧,单位应该有多个用户,那么单位和用户是1对多关系,这样的话,就很方便很方便了。。。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
hhay7758
一个人走
等级:
可用分等级:
富农
总技术分:
248
总技术分排名:
66836
发表于:
2008-08-25 20:58:22
12
楼 得分:
0
通过配置文件
不过首先要在数据库里设置各个表的关系
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
liuqianqian
漫步云端
等级:
可用分等级:
贫农
总技术分:
126
总技术分排名:
79282
发表于:
2008-08-26 14:00:11
13
楼 得分:
0
用hibernate的多表关联应该可以吧!
many-to-many好像是!我也记不清了,很长时间不用了!
你为什么非要用heibernate来写呢,写sql语句不是一样吗?
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
ztroma
风里密码
等级:
可用分等级:
富农
总技术分:
221
总技术分排名:
56077
发表于:
2008-08-26 17:31:44
14
楼 得分:
0
这样的多对多关系似乎不合一般的逻辑。按照你的设计,如果要查,查出的也可能是好几个部门。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
chao840805
chao
等级:
可用分等级:
乞丐
总技术分:
7
总技术分排名:
238547
发表于:
2008-08-26 20:02:47
15
楼 得分:
0
多对一即可
修改
删除
举报
引用
回复
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
网站简介
-
广告服务
-
网站地图
-
帮助
-
联系方式
-
诚聘英才
-
English
-
问题报告
北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
abc推荐给好友