[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