[hibernate-issues] [Hibernate-JIRA] Commented: (ANN-640) use property names defined in CompositeUserType as default column names

Barry Kaplan (JIRA) noreply at atlassian.com
Thu Apr 3 08:57:33 EDT 2008


    [ http://opensource.atlassian.com/projects/hibernate/browse/ANN-640?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_29931 ] 

Barry Kaplan commented on ANN-640:
----------------------------------

I agree that it is noisy, a DRY violation, and painful to have to specify the @Column attributes for composite user types. There should be some way to default the column names.

> use property names defined in CompositeUserType as default column names
> -----------------------------------------------------------------------
>
>                 Key: ANN-640
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/ANN-640
>             Project: Hibernate Annotations
>          Issue Type: New Feature
>    Affects Versions: 3.3.0.ga
>            Reporter: Michael Newcomb
>            Priority: Minor
>
> Consider:
> public class LongitudeLatitude
> {
>   protected double longitude;
>   protected double latitude;
> }
> public class LongitudeLatitudeCompositeUserType
>   implements CompositeUserType
> {
>   public String[] getPropertyNames()
>   {
>     return new String[] { "longitude", "latitude" };
>   }
>   public Type[] getPropertyTypes()
>   {
>     return new Type[] { Hibernate.DOUBLE, Hibernate.DOUBLE };
>   }
>   ...
> }
> @Entity
> public class Test
> {
>   @Basic(optional = false)
>   @Type(type = "foo.bar.LongitudeLatitudeCompositeUserType")
>   @Columns(columns = { @Column(name = "location_longitude"), @Column(name = "location_latitude") })
>   protected LongitudeLatitude location;
> }
> Why does the developer need to specify each column?
> I'd really rather let the CompositeUserType take care of that for me. Now, I have to tie the @Columns to the # of properties in my CompositeUserType AND the order in which they are defined? This seems to defeat the purpose of having a class (CompositeUserType) to tell Hibernate how to store it.
> Couldn't Hibernate prepend the property name 'location' and '_' to the front of each property name in the CompositeUserType?
> Perhaps (more than likely) I'm doing something wrong, but I get a failure if I do not specify the columns.
> Thanks,
> Michael

-- 
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