Bonjour,
Voila j'exporte vers oracle des champs dont la taille est helas libre du coté de la source et fixé à 255 coté oracle:
Code :
- <property name="text4" type="string">
- <column name="TEXT4" length="255" />
- </property>
|
Comment forcer Hibernate à couper le champs si celui ci depasse les 255 simplement en modifiant le fichier XML de mapping?
Voici l'exception:
Code :
- org.hibernate.exception.ConstraintViolationException: could not update: [com.sgcib.crs.it2.projcom.hibernate.TaskInfo#component[projectId,taskid]{projectId=12EM3L1, taskid=12EM420}]
- at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:71)
- at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
- at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2222)
- at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2118)
- at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2374)
- at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:91)
- at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248)
- at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:232)
- at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
- at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:297)
- at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
- at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:985)
- at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:333)
- at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
- at com.sgcib.crs.it2.projcom.ExportProjects.exportProjects(ExportProjects.java:331)
- at com.sgcib.crs.it2.projcom.Main.main(Main.java:58)
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
- at java.lang.reflect.Method.invoke(Method.java:585)
- at com.lebihan.startup.ConfigStarter.run(ConfigStarter.java:204)
- at com.lebihan.startup.Starter.main(Starter.java:42)
- Caused by: java.sql.BatchUpdateException: ORA-01401: inserted value too large for column
|