Beginner |
 |
Joined: Thu Jan 20, 2005 3:25 pm Posts: 22
|
I have strange problem with many-to-one. On "caracteristiques", not-null is set to "false". So shouldn't I get null instead of org.hibernate.ObjectNotFoundException?
Hibernate version:
3.0beta3
Mapping documents:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping>
<class
name="actualis.web.bo.catalogue.ValeurCaracteristique"
table="valeurs_caracteristiques"
>
<id
name="id"
type="java.lang.Integer"
column="id"
>
<generator class="assigned" />
</id>
<property
name="idCar"
type="int"
column="id_car"
not-null="true"
unique="true"
insert="false"
update="false"
length="10"
>
</property>
<property
name="refArticle"
type="java.lang.String"
column="ref_article"
not-null="true"
unique="true"
insert="false"
update="false"
length="18"
>
</property>
<property
name="valBool"
type="boolean"
column="val_bool"
>
</property>
<property
name="valTxt"
type="java.lang.String"
column="val_txt"
unique="true"
length="255"
>
</property>
<property
name="valNum"
type="java.lang.Double"
column="val_num"
length="22"
>
</property>
<!-- Associations -->
<many-to-one
name="article"
class="actualis.web.bo.catalogue.Article"
not-null="true"
>
<column name="ref_article" />
</many-to-one>
<many-to-one
name="caracteristique"
class="actualis.web.bo.catalogue.Caracteristique"
not-null="false"
>
<column name="id_car" />
</many-to-one>
</class>
</hibernate-mapping>
Code between sessionFactory.openSession() and session.close():
Excerpt from ProduitsDAO
public Set getCaracteristiquesArticle(Article ar) {
Set cars = ar.getValeursCaracteristiques();
Set carsvs = new TreeSet();
for (Iterator it = cars.iterator(); it.hasNext();) {
ValeurCaracteristique vc = (ValeurCaracteristique) it.next();
if (!vc.getCaracteristique().isCache()) { <- that is line 72
CaracteristiqueArticle ca = new CaracteristiqueArticle();
ca.setIntitule(vc.getCaracteristique().getNom());
ca.setValeur(getDisplayValeurCaracteristique(vc));
carsvs.add(ca);
}
}
return carsvs;
}
Full stack trace of any exception that occurs:
Stack Trace:
* org.hibernate.ObjectNotFoundException.throwIfNull(ObjectNotFoundException.java:27)
* org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:739)
* org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:59)
* org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:80)
* org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:115)
* actualis.web.bo.catalogue.Caracteristique$$EnhancerByCGLIB$$b4c86871.isCache(<generated>)
* actualis.web.dao.ProduitsDAO.getCaracteristiquesArticle(ProduitsDAO.java:72)
* actualis.web.spring.WebManager.getCaracteristiquesArticle(WebManager.java:91)
* actualis.web.spring.WebManager$$FastClassByCGLIB$$f2fb6e0a.invoke(<generated>)
* net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
* org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:676)
* org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:122)
* org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:163)
* org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
* org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:619)
* actualis.web.spring.WebManager$$EnhancerByCGLIB$$6b4b8488.getCaracteristiquesArticle(<generated>)
* actualis.web.tapestry.pages.FicheArticle.activateExternalPage(FicheArticle.java:73)
* org.apache.tapestry.engine.ExternalService.service(ExternalService.java:161)
* org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:872)
* org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:197)
* org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:158)
* javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
* javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
* org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
* org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
* org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:170)
* org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
* org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
* org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
* org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
* org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
* org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
* org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
* org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
* org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
* org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
* org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:738)
* org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)
* org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
* org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
* java.lang.Thread.run(Thread.java:595)
Name and version of the database you are using:
Mysql 4.1
|
|