如何使 JPA 将 List<Element>(大小仅为 0 或 1)解释为单个元素

How to make JPA interpret List<Element> (size only 0 or 1) as single Element

class Entity {
    private InnnerEntity innerEntity;
}

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

class Entity {
    private List<InnnerEntity> innerEntity;
}

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

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

class Entity {

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

}