Как указать мощность @OneToMany в EclipseLink/JPA

Я пытаюсь навязать ассоциацию @Oneto7. Я бы предположил атрибут, который задает цель много значения, но не нашел ни одного. Если такого атрибута нет, как еще, в JPA/EclipseLink его можно достичь?

Ответ 1

Вы можете использовать Bean API проверки (JSR-303) - Hibernate Validator является RI - и добавьте Size ограничение на вашу коллекцию:

@Size(min = 7, max = 7) protected Set<Foo> foos = new HashSet<Foo>();

Если вы используете JPA 1.0, посмотрите этот предыдущий ответ, чтобы узнать, как использовать Bean Validation with JPA 1.0.

Ответ 2

Вы можете использовать библиотеку Oval и установить, например:

@OneToMany(cascade = CascadeType.ALL, mappedBy = "whatevery")
@Size(max = 30)
private List<SuperDocument> documents;

Вот документация для дальнейшей проверки Oval: http://oval.sourceforge.net/userguide.html#api-documentation