[hibernate-issues] [Hibernate-JIRA] Commented: (ANN-640) use property names defined in CompositeUserType as default column names
Michael Newcomb (JIRA)
noreply at atlassian.com
Thu Aug 2 13:07:11 EDT 2007
[ http://opensource.atlassian.com/projects/hibernate/browse/ANN-640?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_27709 ]
Michael Newcomb commented on ANN-640:
-------------------------------------
Intimate knowledge of a CompositeUserType (name, #, and order of columns) outside of the CompositeUserType is bad.
There is no similar requirement on @Embeddable, which IMHO, is similar to a CompositeUserType.
I think we are going to have to agree to disagree.
> 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