java - JPA OneToMany 集合的条件

标签 java hibernate jpa

如果我有这个实体:

@Entity
class Pet {

    @Id
    long id;

    public enum State { ALIVE, DEAD }

    @Enumerated(EnumType.STRING)
    @...
    State state;

    @...
    String name;

}

我可以创建这样的映射吗:

@Entity
class Owner {

    @OneToMany(condition="state = ALIVE") // or something like that
    Set<Pet> alivePets;

    @OneToMany(condition="state = DEAD")
    Set<Pet> deadPets;

}

最佳答案

据我所知,这不是 JPA 规范的一部分。至少 Hibernates JPA 实现提供了一个自己的注解 @Where 可以使用:

@OneToMany
@Where(clause = "state = 'ALIVE'")
Set<Pet> alivePets

关于java - JPA OneToMany 集合的条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9896289/

相关文章:

java - 如何通过 spring-data-jpa 框架进行自定义搜索?

java - 如何使用 Couchbase 服务器配置 sync_gateway

java - JSP引擎处理jsp文件时如何获取servlet代码

java - 有没有一种简单的方法将 varchar2(1) ("1"或 "0") 映射到 JPA boolean 类型

mysql - 如何维护两个表之间的关系?

java - 使用什么刷新模式 'Auto' 或 'Commit'

java - 没有数据库的 Hibernate/JPA

java - 如何使 BoxLayout 中的垂直间隙变小?

java - 无法将项目与 Eclipse IDE 中的运行时服务器相关联

postgresql - hibernate 动态查询