Gilead를 사용하여 GWT 프로젝트에서 내 엔티티를 유지하면서 문제가 발생했습니다. 내 엔티티 (ID 등) 전반에 공통적 인 몇 가지 속성을 유지하기 위해 부모 클래스를 만들고 싶습니다. 영속 할 때 나는 널 포인터 예외를 얻는다.Gilead를 사용하여 상속 클래스 유지
부모 클래스 :
public abstract class Entity extends LightEntity implements Serializable {
protected Long id;
public Entity(){}
}
아이 클래스 :
public class Person extends Entity {
private String firstName;
private String lastName;
public Person(){}
}
Hibernate 매핑 파일 : 지속
<hibernate-mapping>
<class name="com.domain.Entity" abstract="true" >
<id name="id" type="long">
<column name="ID"/>
<generator class="native" />
</id>
<union-subclass name="com.domain.Person" table="PERSON">
<property name="id" type="long" />
<property name="firstName" type="string">
<column name="FIRST_NAME" length="45" not-null="true" />
</property>
<property name="lastName" type="string">
<column name="LAST_NAME" length="45" not-null="true" />
</property>
</union-subclass>
</class>
</hibernate-mapping>
스택 추적 :
java.lang.NullPointerException at net.sf.gilead.gwt.PersistentRemoteService.processCall (PersistentRemoteService.java:170) at com.google.gwt.user.server.rpc.RemoteServiceServlet.doPost (RemoteServiceServlet.java:86)에 javax.servlet.http.HttpServlet.service (HttpServlet.java:754) javax.servlet.http.HttpServlet.service에서 (HttpServlet.java:847)에서 org.apache.catalina.core.ApplicationFilterChain.servletService (ApplicationFilterChain.java:427) at org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:315) at org.apache.catalina.core.StandardContextValve.invokeInternal (StandardContextValve.java:287) at org .apache.catalina.core.StandardContextValve.invoke (StandardContextValve. java : 218) at org.apache.catalina.core.StandardPipeline.doInvoke (StandardPipeline.java:648) at org.apache.catalina.core.StandardPipeline.doInvoke (StandardPipeline.java:593) at com.sun. Enterprise.web.WebPipeline.invoke (WebPipeline.java:94) com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke (PESessionLockingStandardPipeline.java:98) at org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve. java : 222) at org.apache.catalina.core.StandardPipeline.doInvoke (StandardPipeline.java:648) at org.apache.catalina.core.StandardPipeline.doInvoke (StandardPipeline.java:593) at org.apache. catalina.core.StandardPipeline.invoke (StandardPipeline.java:587) at org.apache.catalina.cor org.apache.catalina.core.StandardPipeline.doInvoke (StandardPipeline.java에서 org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:166) 에서 e.ContainerBase.invoke (ContainerBase.java:1096) : 648) at org.apache.catalina.core.StandardPipeline.doInvoke (StandardPipeline.java:593) at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:587) at org.apache.catalina. com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter에서 org.apache.coyote.tomcat5.CoyoteAdapter.service (CoyoteAdapter.java:288) 에서 core.ContainerBase.invoke (ContainerBase.java:1096) (DefaultProcessorTask.java:647) com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess (DefaultProcessorTask .java : 579) com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process (DefaultProcessorTask.java:831) com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask (DefaultReadTask.java : 341) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask (DefaultReadTask.java:263) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask (DefaultReadTask.java:214)) (com.sun.enterprise.web.portunif).PortUnificationPipeline $ PUTask.doTask (PortUnificationPipeline.java:380) com.sun.enterprise.web.connector.grizzly에서 com.sun.enterprise.web.connector.grizzly.TaskBase.run (TaskBase.java:265) 에 있습니다. ssl.SSLWorkerThread.run (SSLWorkerThread.java:106)