[
http://opensource.atlassian.com/projects/hibernate/browse/ANN-472?page=co...
]
Emmanuel Bernard commented on ANN-472:
--------------------------------------
Ah OK. Yes you will have to write a validator that does the query.
What would be the validator API to check several properties, the bean validation seems to
be the only clean one. Remember that the constraint definition is defined either at a
property level (does not make sense for multi-property constraints), or at the bean
level.
@UniqueConstraint declaration is not friendly towards inheritance or
reflection
-------------------------------------------------------------------------------
Key: ANN-472
URL:
http://opensource.atlassian.com/projects/hibernate/browse/ANN-472
Project: Hibernate Annotations
Type: Improvement
Versions: 3.2.0.ga
Environment: Hibernate 3.2 GA
Reporter: Ted Bergeron
The current way to define a composite unique constraint is limiting.
@Table(name="tbl_sky",
uniqueConstraints = {@UniqueConstraint(columnNames={"month",
"day"})}
)
Suppose I have an abstract base class called A that gives me Id and Name, subclassed by
abstract class B that gives me Customer. Then I have many concrete classes that subclass
B. For all of these, I'd want the combination of Name and Customer to be unique. As
I do not use @Table with abstract base classes, I currently have to repeat:
uniqueConstraints = {@UniqueConstraint(columnNames={"name",
"customer_id"})} on all concrete classes.
If we had an alternate way to define these constraints at the property level (as XDoclet
did with hibernate 2), I could define this in the base classes and inherit the constraint
declaration.
The other need is that I would like to use reflection to scan the properties and apply
proper validations in the view layer. With @Column(unique = true) this is easy to do.
The view layer makes an AJAX call and all is well. For a composite constraint, it does
not work well currently.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira