[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-4360) @UniqueConstraint declaration is not friendly towards inheritance or reflection
Manuel Bernhardt (JIRA)
noreply at atlassian.com
Tue Feb 22 12:11:08 EST 2011
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-4360?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=40051#action_40051 ]
Manuel Bernhardt commented on HHH-4360:
---------------------------------------
I opened a related feature request at http://opensource.atlassian.com/projects/hibernate/browse/HHH-5950
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: 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