Как указать количество элементов @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

Другие вопросы по тегам