小编raf*_*iss的帖子

Hibernate/JPA单向OneToMany,在源表中具有常量值的连接条件

我想使用Hibernate注释来表示使用连接的单向一对多关系.我想在连接上添加一个条件,这样只有当表中的列("一")等于一个常量值时才会发生这种情况.例如.

SELECT *
FROM buildings b
LEFT JOIN building_floors bf on bf.building_id = b.id AND b.type = 'OFFICE'
Run Code Online (Sandbox Code Playgroud)

我想表示该b.type = 'OFFICE'查询的一部分.

我的问题与此问题非常相似,只是我在源表上有条件.JPA/Hibernate加入恒定价值

Java实体看起来像这样:

@Entity
@Table(name = "buildings")
public class Building {

    @Id
    @Column(name = "id")
    private int id;

    @Column(name = "type")
    private String type;

    @OneToMany(mappedBy = "buildingId",
            fetch = FetchType.EAGER,
            cascade = {CascadeType.ALL},
            orphanRemoval = true)
    @Fetch(FetchMode.JOIN)
    // buildings.type = 'OFFICE'   ????
    private Set<BuildingFloors> buildingFloors;

    // getters/setters
}

@Entity
@Table(name = "building_floors")
public class BuildingFloor …
Run Code Online (Sandbox Code Playgroud)

java hibernate jpa join hibernate-annotations

15
推荐指数
1
解决办法
3612
查看次数

标签 统计

hibernate ×1

hibernate-annotations ×1

java ×1

join ×1

jpa ×1