首页 > 解决方案 > 如何让 JPA 解释 List(大小只有 0 或 1)作为单个元素

问题描述

class Entity {
    private InnnerEntity innerEntity;
}

我以前在 JPA 中有上述结构,但现在我必须将其更改为集合,例如:

class Entity {
    private List<InnnerEntity> innerEntity;
}

这个列表将只包含 1 个或 0 个元素。所以我需要让 JPA 像以前一样使用该结构。我的意思是仍然有一对一的映射,或者在其他情况下将它作为一个嵌入式实体。这甚至可能吗?

标签: javajpahibernate-mapping

解决方案


您可以使用 Bean 验证将集合的大小限制为 1,但您必须使用 OneToMany,因为 OneToOne 不适用于集合:

class Entity {

    @Size(1)
    @OneToMany
    private List<InnnerEntity> innerEntity;

}

推荐阅读