Problem when extending an Entity EJB class
dsouza Feb 14, 2005 2:04 PMConsider this simple example:
@Entity
@Table(name = "PERSON")
public class Person extends Object implements Serializable {
protected Integer id;
protected String name;
@Id(generate = GeneratorType.AUTO)
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
@Column(name = "NAME", nullable = false, length = 100)
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Works fine, but if I extend the class from another very simple class:
@Entity
@Table(name = "PERSON")
public class Person extends EntityBeanAbstract {
...
}
public abstract class EntityBeanAbstract {
public boolean equals(Object object) {
...
}
}
I get this:
16:44:02,438 ERROR [Ejb3Module] Starting failed jboss.j2ee:service=EJB3,module=entities.ejb3
java.lang.NullPointerException
at org.jboss.ejb3.entity.EntityToHibernateXml.getDeclaredEntityProperties(EntityToHibernateXml.java:400)
at org.jboss.ejb3.entity.EntityToHibernateXml.getAnnotatedProperty(EntityToHibernateXml.java:316)
at org.jboss.ejb3.entity.EntityToHibernateXml.getAnnotatedProperty(EntityToHibernateXml.java:327)
at org.jboss.ejb3.entity.EntityToHibernateXml.handleBasicClass(EntityToHibernateXml.java:1839)
at org.jboss.ejb3.entity.EntityToHibernateXml.handleClass(EntityToHibernateXml.java:1457)
at org.jboss.ejb3.entity.EntityToHibernateXml.convert(EntityToHibernateXml.java:161)
at org.jboss.ejb3.entity.HibernateSessionFactory.createSessionFactory(HibernateSessionFactory.java:144)
at org.jboss.ejb3.Ejb3Module.createHibernateSessionFactory(Ejb3Module.java:213)
at org.jboss.ejb3.Ejb3Module.startService(Ejb3Module.java:225)
at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:272)
at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:222)
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.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:144)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:249)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:891)
at $Proxy0.start(Unknown Source)
at org.jboss.system.ServiceController.start(ServiceController.java:416)
at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:144)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:249)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
at $Proxy16.start(Unknown Source)
at org.jboss.ejb3.EJB3Deployer.start(EJB3Deployer.java:166)
If I remove all methods from the parent class, it still keeps happening.
Any ideas? Could this be a bug? It happens with EJB3 Preview 3. Works on Preview 2.
D