A new topic, 'UserTypes in hibernate give a org.hibernate.MappingException 
exception', has been made on a board you are watching.

You can see it at
http://liquibase.org/forum/index.php?topic=143.new#new

The text of the topic is shown below:

(I apologize for my bad English)

I think hibernate userTypes are not supported by liquibase.
GenerateChangeLog Ant Task gives me a exception when I use hibernate mapping 
files with userTypes.

Example:
Calendario.hbm.xml:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd";>
<!-- Generated 09-sep-2009 11:49:23 by Hibernate Tools 3.2.2.GA -->
<hibernate-mapping>
    <class name="es.itecban.calendario.entidades.Calendario" table="CALENDARIO">
        <id name="codCalendario" type="java.lang.String" access="field">
            <column name="codCal" length="8" />
            <generator class="assigned"></generator>
        </id>
        <version name="version" type="int" access="field">
            <column name="QSAU29" />
        </version>
        <property name="codServicio" type="java.lang.String" access="field">
            <column name="QCSVC3" />
        </property>
        <property name="fechaFinValidezCalendario" 
type="com.itecban.arq.tda.Fecha" access="field">
            <column name="fechaFinValidez" not-null="true" />
        </property>
        <property name="fechaInicioValidezCalendario" 
type="com.itecban.arq.tda.Fecha" access="field">
            <column name="fechaInicioValidez" not-null="true" />
        </property>
        <property name="horaCortePaisGrupoFestivos" 
type="com.itecban.arq.tda.Hora" access="field">
            <column name="horaCortePais" not-null="true" />
        </property>        
        <many-to-one name="tp" 
class="es.itecban.calendario.entidades.TpCalendario" access="field" 
fetch="select">
            <column name="TP_codTpCal" length="3" not-null="true" />
        </many-to-one>
    </class>
</hibernate-mapping>

When I execute generateChangeLog with the suitable hibernate configuration 
file, the log shows the next:
[generateChangeLog] seen table CALENDARIO
D:...antbuild.xml:532: liquibase.exception.JDBCException: 
org.hibernate.MappingException: Could not determine type for: 
com.itecban.arq.tda.Fecha, at table: CALENDARIO, for columns: 
[org.hibernate.mapping.Column(fechaFinValidez)]
   at 
org.apache.tools.ant.ProjectHelper.addLocationToBuildException(ProjectHelper.java:541)
   at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:418)
   at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at 
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
   at org.apache.tools.ant.Task.perform(Task.java:348)
   at org.apache.tools.ant.Target.execute(Target.java:357)
   at org.apache.tools.ant.Target.performTasks(Target.java:385)
   at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
   at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
   at 
org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
   at 
org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
   at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
   at 
org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
   at 
org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)
   ... 30 more
Caused by: D:...antbuild.xml:532: liquibase.exception.JDBCException: 
org.hibernate.MappingException: Could not determine type for: 
com.itecban.arq.tda.Fecha, at table: CALENDARIO, for columns: 
[org.hibernate.mapping.Column(fechaFinValidez)]
   at liquibase.ant.GenerateChangeLogTask.execute(GenerateChangeLogTask.java:37)
   at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
   at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at 
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
   at org.apache.tools.ant.Task.perform(Task.java:348)
   at org.apache.tools.ant.Target.execute(Target.java:357)
   at org.apache.tools.ant.Target.performTasks(Target.java:385)
   at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
   at 
org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
   at 
org.eclipse.ant.internal.ui.antsupport.EclipseSingleCheckExecutor.executeTargets(EclipseSingleCheckExecutor.java:30)
   at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
   at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416)
   ... 52 more
Caused by: liquibase.exception.JDBCException: org.hibernate.MappingException: 
Could not determine type for: com.itecban.arq.tda.Fecha, at table: CALENDARIO, 
for columns: [org.hibernate.mapping.Column(fechaFinValidez)]
   at 
liquibase.database.structure.HibernateDatabaseSnapshot.<init>(HibernateDatabaseSnapshot.java:188)
   at 
liquibase.database.HibernateDatabase.createDatabaseSnapshot(HibernateDatabase.java:36)
   at liquibase.diff.Diff.compare(Diff.java:62)
   at liquibase.ant.GenerateChangeLogTask.execute(GenerateChangeLogTask.java:26)
   ... 65 more
Caused by: org.hibernate.MappingException: Could not determine type for: 
com.itecban.arq.tda.Fecha, at table: CALENDARIO, for columns: 
[org.hibernate.mapping.Column(fechaFinValidez)]
   at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:269)
   at org.hibernate.mapping.Column.getSqlTypeCode(Column.java:138)
   at 
liquibase.database.structure.HibernateDatabaseSnapshot.<init>(HibernateDatabaseSnapshot.java:68)
   ... 68 more


When I use hbm2ddl from hibernate tools to generate DDL script, tool generates 
the sql script without problems.
I think that liquibase doesn't support usertypes because it doesn't ask a 
classpath to view .jar files that contain classes.

Unsubscribe to new topics from this board by clicking here: 
http://liquibase.org/forum/index.php?action=notifyboard;board=1.0

Regards,
The LiquiBase Community Forum Team.
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Liquibase-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/liquibase-user

Reply via email to