问题
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?
回答1:
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.
回答2:
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
来源:https://stackoverflow.com/questions/2705759/how-to-specify-the-cardinality-of-a-onetomany-in-eclipselink-jpa