我有两张表,一对多.我现在想在多的一方查询少的一方的数据.
比如:from user where user.connectUsers like '%aa%'
一直报错.
求解啊..
Aleaf_com说的是对的.但我只是用这个举个例子.
我的业务需求就是从一方去查询多方..
到底有没有办法哈..
hibernatesql查询问题!
答案:4 悬赏:20
解决时间 2021-11-30 00:01
- 提问者网友:醉人眸
- 2021-11-28 23:27
最佳答案
- 二级知识专家网友:初心未变
- 2021-11-29 00:27
join fetch 不建议使用
建议你在一的一方的实体配置文件里的对多属性加上lazy = false这句话。
2曰8日补充
就是我说的这个
你想要的不就是查询一个表然后把你想要的外键的数据也一并查出来吗
HQL语句不变
在你查的那个表的实体类配置文件里外键属性加一个字段 lazy=false
这样的话查询这个表你加上lazy=false的字段的外键的数据也都查了出来
hql就是这么简单
建议你在一的一方的实体配置文件里的对多属性加上lazy = false这句话。
2曰8日补充
就是我说的这个
你想要的不就是查询一个表然后把你想要的外键的数据也一并查出来吗
HQL语句不变
在你查的那个表的实体类配置文件里外键属性加一个字段 lazy=false
这样的话查询这个表你加上lazy=false的字段的外键的数据也都查了出来
hql就是这么简单
全部回答
- 1楼网友:深街酒徒
- 2021-11-29 02:15
可以如下进行查询:
criteria criteria = session.createcriteria(user.class);
list users = criteria.list();
for(iterator it = users.iterator(); it.hasnext(); ) {
user user = (user) it.next();
system.out.println(user.getid() +
" /t " + user.getname() +
"/" + user.getage());
}
- 2楼网友:一身浪痞味
- 2021-11-29 01:43
from user where user.connectUsers like '%aa%'
这个是在一张表中查找啊,如果名称正确的话,推荐这样写下试试:
from User u where u.connectUsers like '%aa%'
如果是一对多,两张表。试试 join fetch
- 3楼网友:24K纯糖
- 2021-11-29 00:49
看了你的描述,大概意思可能这样:
一个“客户”表user,一个“联系人”表connectUsers;
现在要在联系人表里查找带有字符“aa”的联系人。
如果真是这样的话,你就不应该from user 而应该 from connectUsers
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯