NutzCN Logo
问答 关联查询能带条件吗?
发布于 3057天前 作者 哎呦哥哥 1791 次浏览 复制 上一个帖子 下一个帖子
标签: dao

大概举个例子:
有一张中间表(用户和角色吧);

List userList;
dao.fetchLinks(userList, "roleId");//这样可以获取到用户的角色信息

我的困惑是,如果我的角色信息是有条件的,可以给加条件吗

6 回复
    /**
     * 根据一个正则表达式,获取对象所有的关联字段, 并按Condition进行数据过滤排序
     * <p/>
     * <b>严重提醒,当使用Condition进行数据过滤排序时,应当使regex只匹配特定的映射字段</b>
     * 
     * @param obj
     *            数据对象
     * @param regex
     *            正则表达式,描述了什么样的关联字段将被关注。如果为 null,则表示全部的关联字段都会被查询
     * @param cnd
     *            关联字段的过滤(排序,条件语句,分页等)
     * @return
     */
    <T> T fetchLinks(T obj, String regex, Condition cnd);

@Table("pro_project_assistant") @PK({"id","userId"}) public class ProjectAssistant extends DataEntity{ @Column private String id; @One(target=Project.class, field="id") private Project project; @Column("user_id") private String userId; @One(target=User.class,field="userId") private User user; } List<ProjectAssistant> list !=null;//数据库查过来的集合 projectAssistantDao.findLink(list, "project", cnd2);//我想给project加条件

这是一个项目助理中间表,一个项目有多个助理。
我根据助理去查询项目(因为这里有权限问题,页面上只能显示助理的所有项目)。
也就是说页面是项目列表,而我需要给页面加检索条件,因此想给项目加检索条件。

那你到底要拼个啥sql出来?

select * from projectUser pu, project p
where pu.project_id = p.project_id
and p.name="123";

@qq_999005dc 兽总一楼已经给出答案了!

添加回复
请先登陆
回到顶部