[Building Sakai] GenericDAO and composite-id

Branden Visser branden at uwindsor.ca
Wed Sep 23 13:57:23 PDT 2009


Does anyone know if the generic-dao services will recognize hibernate's 
composite-id tags in place of an id? I'm getting an exception [1] when 
trying to delete an object that has a composite-id.

Thanks,
Branden

[1] java.lang.IllegalArgumentException: id to load is required for loading
	at org.hibernate.event.LoadEvent.<init>(LoadEvent.java:51)
	at org.hibernate.event.LoadEvent.<init>(LoadEvent.java:33)
	at org.hibernate.impl.SessionImpl.get(SessionImpl.java:812)
	at org.hibernate.impl.SessionImpl.get(SessionImpl.java:808)
	at 
org.springframework.orm.hibernate3.HibernateTemplate$1.doInHibernate(HibernateTemplate.java:470)
	at 
org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:372)
	at 
org.springframework.orm.hibernate3.HibernateTemplate.get(HibernateTemplate.java:464)
	at 
org.springframework.orm.hibernate3.HibernateTemplate.get(HibernateTemplate.java:458)
	at 
org.sakaiproject.genericdao.hibernate.HibernateGenericDao.baseFindById(HibernateGenericDao.java:325)
	at 
org.sakaiproject.genericdao.hibernate.HibernateGenericDao.baseDelete(HibernateGenericDao.java:365)
	at 
org.sakaiproject.genericdao.hibernate.HibernateGenericDao.delete(HibernateGenericDao.java:691)
	at 
org.sakaiproject.genericdao.hibernate.HibernateGenericDao.delete(HibernateGenericDao.java:679)
	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 
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:296)
	at 
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:177)
	at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
	at 
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)
	at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:166)
	at 
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
	at $Proxy54.delete(Unknown Source)
<snip>


More information about the sakai-dev mailing list