[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-3075) Should be possible to register UserTypes for known property types (classes) in configuration

Martin Probst (JIRA) noreply at atlassian.com
Fri Jan 18 08:21:55 EST 2008


    [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-3075?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_29369 ] 

Martin Probst commented on HHH-3075:
------------------------------------

http://forum.hibernate.org/viewtopic.php?t=972083 requests this functionality too.

> Should be possible to register UserTypes for known property types (classes) in configuration
> --------------------------------------------------------------------------------------------
>
>                 Key: HHH-3075
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-3075
>             Project: Hibernate3
>          Issue Type: Improvement
>          Components: core
>         Environment: n/a
>            Reporter: Martin Probst
>            Priority: Minor
>
> Currently, when persisting primitive properties of a class that are not known to Hibernate, there are only cumbersome ways to tell Hibernate that a certain UserType should be used. Good example is Joda Time:
> <pre>
> @Entity
> class MyClass {
>   org.joda.time.DateTime foo;
> }
> </pre>
> .. which will result in ugly binary fields in database. Next try:
> <pre>
> @Entity
> class MyClass {
>   @Type(type = "org.joda.time.contrib.hibernate.PersistentDateTime")
>   org.joda.time.DateTime foo;
> }
> </pre>
> That works, but now I have to specify that on all time fields of all classes. Plus it's different types for different classes, which makes it more messy. And it's simply a string in code, so it's fragile to refactoring, code move, etc. TypeDefs allow a shorter handle for certain types, but don't really address the refactoring issues.
> A better way might be to allow configurations to register UserTypes for known classes. E.g. have a configuration directive like this:
> <mappable-type class="org.joda.time.DateTime" usertype="org.joda.time.hibernate.DateTimeType"/>
> This would allow the classes to stay clean from type mappings and reduce coupling between domain objects and persistence mapping.
> This might be as easy as allowing the org.hibernate.type.TypeFactory map to be extended at configuration time.

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