首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从左侧联接,但不引用@ManyToMany

从左侧联接,但不引用@ManyToMany
EN

Stack Overflow用户
提问于 2012-09-19 09:21:24
回答 2查看 86关注 0票数 0

我有三张桌子。

代码语言:javascript
复制
LEFT ---------|<- LEFT_RIGHT ->|--------- RIGHT
代码语言:javascript
复制
@Entity
class Left {
    // no collection mapping for LeftRight
}

@Entity
class Right {
    // no collection mapping for LeftRight
}

@Entity
class LeftRight {

    @JoinColumn(name="LEFT_ID")
    @ManyToOne
    private Left left;

    @JoinColumn(name="RIGHT_ID")
    @ManyToOne
    private Right right;
}

请注意,无论是Left还是Right都没有对LeftRights的任何引用。

在加入LeftRight时,有没有使用Criteria-API从Left中进行选择的方法?

EN

回答 2

Stack Overflow用户

发布于 2012-09-19 18:48:46

您可以为LeftRight创建一个条件查询,并使用projection检索left属性:

代码语言:javascript
复制
session.createCriteria(LeftRight.class)
    // Add whatever restrictions on Left properties
    .createCriteria("left")
    .add(Restrictions.like("name", "%something%"))
    // Use projection to retrieve the left property
    .setProjection(Projections.property("left"));
票数 1
EN

Stack Overflow用户

发布于 2012-09-19 21:48:59

可以,只需使用选择。

代码语言:javascript
复制
CriteriaQuery cq = cb.createQuery();
Root r = cq.from(LeftRight.class);
cq.select(r.get("left"));
cq.where(...);
Query query = em.createQuery(cq);

http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Querying/Criteria#CriteriaQuery

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12487329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档