]
Manuel Bernhardt commented on HHH-4360:
---------------------------------------
I opened a related feature request at
It features a test case for an inheritance case of the constraint (defining a
@Table(uniqueConstraints=...) annotation in a @MappedSuperClass).
@UniqueConstraint declaration is not friendly towards inheritance or
reflection
-------------------------------------------------------------------------------
Key: HHH-4360
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-4360
Project: Hibernate Core
Issue Type: Improvement
Components: annotations
Environment: Hibernate 3.2 GA
Reporter: Steve Ebersole
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: