simpatico
simpatico

Reputation: 11107

How to specify the cardinality of a @OneToMany in EclipseLink/JPA

I'm trying to impose a @Oneto7 association. I'd have imagined an attribute that specifies the target many value, but have found none. If there is no such attribute, how else, in JPA/EclipseLink would one achieve it?

Upvotes: 2

Views: 3061

Answers (2)

feder
feder

Reputation: 1795

You may use the Oval library and set e.g.:

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

Here is the documentation for further validations of Oval: http://oval.sourceforge.net/userguide.html#api-documentation

Upvotes: 0

Pascal Thivent
Pascal Thivent

Reputation: 570575

You could use the Bean Validation API (JSR-303) - Hibernate Validator being the RI - and add a Size constraint on your collection:

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

If you're using JPA 1.0, have a look at this previous answer to see how to use Bean Validation with JPA 1.0.

Upvotes: 2

Related Questions