Enums in Criteria API
manica Sep 15, 2005 12:50 PMI have an enum that works fine everywhere except when used in a Criteria.
enum:
public enum AvailabilityEnum { CLOSE, OPEN, CALL, NO_ARRIVE }
entity bean: (Inventory)
... @Column(columnDefinition = "VARCHAR(9)") public AvailabilityEnum getAvailability() { return availability; } public void setAvailability(AvailabilityEnum availability) { this.availability = availability; } ...
session bean:
... session.createCriteria(Inventory.class).add(Expression.ne("availability", AvailabilityEnum.CLOSE)).list(); ...
I get the following stack trace
javax.ejb.EJBException: null; CausedByException is:
exception setting property value with CGLIB (set hibernate.cglib.use_reflection_optimizer=false for more info) setter of com.ehr.advantage.ejb.entity.Inventory.setAvailability
at org.jboss.ejb3.tx.Ejb3TxPolicy.handleExceptionInOurTx(Ejb3TxPolicy.java:46)
at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:70)
at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:134)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:88)
at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:61)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:88)
at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:39)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:88)
at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:63)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:88)
at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:91)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:88)
at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:152)
at org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:60)
at $Proxy338.propertySearch(Lcom.ehr.advantage.valueobject.HotelSearch;[Ljava.lang.String;)Ljava.util.Set;(Unknown Source)
at com.ehr.advantage.ejb.session.HotelSearchServiceBeanTest.testPropertySearchForCityAndState(HotelSearchServiceBeanTest.java:89)
at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
at jrockit.reflect.InitialMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
at junit.framework.TestCase.runTest(TestCase.java:154)
Thank you,
Darin