Hibernate is attempting to set a byte property to a non-byte value. (My colleague says she sees a boolean being used in a sql trace.) Is this a Hibernate bug? It seems that Hibernate should know the type of the argument to the set method and never attempt to set using non-byte data.
The database field is tinyint, and the mapping type is byte on a MySQL database.
Hibernate version:
3.1
Mapping documents:
Code:
<property
name="manual"
type="byte"
update="true"
insert="true"
access="property"
column="manual"
length="1"
/>
Full stack trace of any exception that occurs:Code:
[exec] 14:30:38,469 ERROR [LogInterceptor] RuntimeException in method: public abstract java.lang
Object com.fgm.imsma.ejb.LocationinfoversionRemote.add(java.lang.Object,boolean) throws java.rmi.Re
oteException:
[exec] org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling se
ter of com.fgm.imsma.pojo.impl.Locationinfoversion.manual
[exec] at org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccesso
.java:104)
[exec] at org.hibernate.tuple.AbstractEntityTuplizer.setPropertyValues(AbstractEntityTupliz
r.java:330)
[exec] at org.hibernate.tuple.PojoEntityTuplizer.setPropertyValues(PojoEntityTuplizer.java:
88)
[exec] at org.hibernate.persister.entity.AbstractEntityPersister.setPropertyValues(Abstract
ntityPersister.java:3232)
[exec] at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(Abstract
aveEventListener.java:253)
[exec] at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventLi
tener.java:167)
[exec] at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSav
EventListener.java:114)
[exec] at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrReque
tedId(DefaultSaveOrUpdateEventListener.java:186)
[exec] at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(Defaul
SaveOrUpdateEventListener.java:175)
[exec] at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(Defa
ltSaveOrUpdateEventListener.java:98)
[exec] at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSa
eOrUpdateEventListener.java:70)
[exec] at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:531)
[exec] at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:523)
[exec] at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:519)
[exec] at com.fgm.imsma.biz.HibernateHelper.reAttach(HibernateHelper.java:652)
[ . . . removed JBoss session bean invocation stack section ....]
[exec] Caused by: java.lang.IllegalArgumentException
[exec] at sun.reflect.GeneratedMethodAccessor245.invoke(Unknown Source)
[exec] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java
25)
[exec] at java.lang.reflect.Method.invoke(Method.java:585)
[exec] at org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccesso
.java:42)
[exec] ... 55 more
Name and version of the database you are using:
MySql 4.1