[hibernate-issues] [Hibernate-JIRA] Commented: (ANN-472) @UniqueConstraint declaration is not friendly towards inheritance or reflection
Christopher G. Stach II (JIRA)
noreply at atlassian.com
Wed Oct 25 11:07:04 EDT 2006
[ http://opensource.atlassian.com/projects/hibernate/browse/ANN-472?page=comments#action_24985 ]
Christopher G. Stach II commented on ANN-472:
---------------------------------------------
It should probably mimic the @Index annotation. Having multiple @Unique annotations in the same bean with the same constraint name would alleviate the need for your composite attribute. "constraintname" whould just be "name", like @Index. This is something I've been wanting, too. :)
> @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.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
More information about the hibernate-issues
mailing list