Как указать количество элементов @OneToMany в EclipseLink/JPA
Я пытаюсь навязать ассоциацию @Oneto7. Я бы вообразил атрибут, который указывает целевое множество значений, но не нашел ни одного. Если такого атрибута нет, как еще в JPA/EclipseLink можно было бы его достичь?
2 ответа
Решение
Вы можете использовать API проверки бинов ( JSR-303) - Hibernate Validator является RI - и добавить Size
ограничение на вашу коллекцию:
@Size(min = 7, max = 7) protected Set<Foo> foos = new HashSet<Foo>();
Если вы используете JPA 1.0, взгляните на этот предыдущий ответ, чтобы узнать, как использовать Bean Validation с JPA 1.0.
Вы можете использовать овальную библиотеку и установить, например:
@OneToMany(cascade = CascadeType.ALL, mappedBy = "whatevery")
@Size(max = 30)
private List<SuperDocument> documents;
Вот документация для дальнейшей проверки овала: http://oval.sourceforge.net/userguide.html