[
http://opensource.atlassian.com/projects/hibernate/browse/EJB-148?page=all ]
Emmanuel Bernard resolved EJB-148:
----------------------------------
Fix Version: 3.2.0.cr2
Resolution: Fixed
Assign To: Emmanuel Bernard
Incorrect exception when @CollectionOfElement is used with @Where and
FetchType is EAGER
----------------------------------------------------------------------------------------
Key: EJB-148
URL:
http://opensource.atlassian.com/projects/hibernate/browse/EJB-148
Project: Hibernate Entity Manager
Type: Bug
Components: EntityManager
Versions: 3.1.0.Beta8
Environment: Jboss Embedded Alfa 5, Hibernate 3.1, mysql 5.0.15
Reporter: Filippo Guerzoni
Assignee: Emmanuel Bernard
Priority: Minor
Fix For: 3.2.0.cr2
Attachments: test.zip
Hello,
When using together
@CollectionOfElements(fetch= FetchType.EAGER)
@Where(clause="state='A'")
@JoinTable(name = "functions_loglev", joinColumns = @JoinColumn(name =
"id"))
I'm exeperiencing the following MappingException that doesn't occur when using
FetchType.LAZY
ERROR 11-03 09:46:26,890 (AbstractController.java:incrementState:350) -Error installing
to Start: name=persistence.units:jar=Prototype.jar,unitName=logdb state=Create
org.hibernate.MappingException: @ManyToMany defining filter or where without join
fetching not valid within collection using join
fetching[model.strutcture.functions.levels]
at
org.hibernate.cfg.annotations.CollectionBinder.checkFilterConditions(CollectionBinder.java:863)
at
org.hibernate.cfg.annotations.CollectionBinder.bindManyToManySecondPass(CollectionBinder.java:849)
at
org.hibernate.cfg.annotations.CollectionBinder.bindStarToManySecondPass(CollectionBinder.java:421)
at
org.hibernate.cfg.annotations.CollectionBinder$1.secondPass(CollectionBinder.java:382)
at org.hibernate.cfg.CollectionSecondPass.doSecondPass(CollectionSecondPass.java:35)
at org.hibernate.cfg.annotations.CollectionBinder.bind(CollectionBinder.java:331)
at
org.hibernate.cfg.AnnotationBinder.processElementAnnotations(AnnotationBinder.java:1296)
at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:629)
at
org.hibernate.cfg.AnnotationConfiguration.processArtifactsOfType(AnnotationConfiguration.java:276)
at
org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:210)
at org.hibernate.cfg.Configuration.buildMappings(Configuration.java:997)
at org.hibernate.ejb.Ejb3Configuration.buildMappings(Ejb3Configuration.java:722)
at
org.hibernate.ejb.EventListenerConfigurator.configure(EventListenerConfigurator.java:161)
at
org.hibernate.ejb.Ejb3Configuration.createEntityManagerFactory(Ejb3Configuration.java:567)
at
org.hibernate.ejb.Ejb3Configuration.createContainerEntityManagerFactory(Ejb3Configuration.java:245)
at
org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:108)
at
org.jboss.ejb3.entity.PersistenceUnitDeployment.start(PersistenceUnitDeployment.java:260)
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.jboss.joinpoint.plugins.reflect.ReflectMethodJoinPoint.dispatch(ReflectMethodJoinPoint.java:72)
at
org.jboss.kernel.plugins.dependency.KernelControllerContextActions.dispatchJoinPoint(KernelControllerContextActions.java:96)
at
org.jboss.kernel.plugins.dependency.KernelControllerContextActions$LifecycleAction.installAction(KernelControllerContextActions.java:476)
at
org.jboss.kernel.plugins.dependency.KernelControllerContextActions$KernelControllerContextAction.install(KernelControllerContextActions.java:171)
at
org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
at
org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:226)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:593)
at
org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:346)
at
org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:438)
at
org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:379)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:225)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:151)
at
org.jboss.kernel.plugins.dependency.AbstractKernelController.install(AbstractKernelController.java:79)
at
org.jboss.kernel.plugins.dependency.AbstractKernelController.install(AbstractKernelController.java:73)
at org.jboss.ejb3.MCKernelAbstraction.install(MCKernelAbstraction.java:86)
at org.jboss.ejb3.Ejb3Deployment.startPersistenceUnits(Ejb3Deployment.java:599)
at org.jboss.ejb3.Ejb3Deployment.start(Ejb3Deployment.java:452)
at org.jboss.ejb3.embedded.EJB3StandaloneDeployer.start(EJB3StandaloneDeployer.java:450)
at AllModelTests.startupEmbeddedJboss(AllModelTests.java:49)
at AllModelTests$1.setUp(AllModelTests.java:25)
at junit.extensions.TestSetup$1.protect(TestSetup.java:18)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.extensions.TestSetup.run(TestSetup.java:23)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Deleting the @WHERE annotation the Exception disappears.
I can't understand it at all.
Why the stack trace refers to manytomany? It's a simple composition of elements.
Thanks in advance.
F
Hibernate version:
3.1 with annotations beta8
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira