2011-11-30 1 views
0

일련 번호 및 지속성과 관련된 몇 가지 질문이 있습니다. 처음에는 클라이언트 코드와 서블릿을 가진 GWT 프로젝트에 EJB 프로젝트와 통신하고 있습니다. EJB 프로젝트에는 서로를 유지 관리하는 Bean과 Bean 간의 참조가있는 일부 Persistent Entitie Classes가 있습니다. 참조는 다음과 같이 보일 수 있습니다 : GWT + EJB + MYSQL

  Object A 
     / \ 
    Object B  Object C 
         \ 
        Object D 

은 대부분이 1이다 :이 같은 oneToMany와 모델링 또는 뭔가가 관계, N .. 이미 문자열을 사용한 작업 MySQL 데이터베이스에 저장합니다. 문자열 사용 GWT 클라이언트 측에서 GWt 서블릿을 통해 EJB Bean으로 전송 한 다음 데이터베이스와 클라이언트 측으로 다시 전송하는 데 문제가 없습니다. 그러나 GWT 클라이언트와 EJB간에 고유 한 클래스 객체 (POJO?)를 전송하려고하면 항상 직렬화 예외가 발생합니다. GWT 서블릿 때문입니까? DTo 나 Value Object를 사용해야한다는 것을 읽었습니까? 이 올바른지? 또는 이것을 해결할 수있는 쉬운 방법이 없습니까?

+0

이 POJO 클래스는 직렬화 인터페이스를 구현 하는가하는 것이 한 번도 안 써봤? – Barry

+0

(버튼에서 정상 작동하지 않습니다 ..) 엔티티에서 이 공용 클래스의 TestClass 아이디 \t 개인 문자열 이름에 직렬화 { \t \t을 구현; \t at OneToMany (캐스케이드 = {CascadeType.REMOVE}) \t 개인 컬렉션 테스트; \t \t 공공의 TestClass() { \t \t \t} 엔티티 Public 클래스에 게터 + 세터 가 Test2를 직렬화 { GeneratedValue에서 이드 \t \t (전략 = GenerationType.IDENTITY) \t 전용 INT 구현 신분증; \t 개인 문자열 이름; \t \t 공공 Test2를() { \t} 게터 + 세터 정확해야, 내가 생각하는 .. – ph09

+0

당신이 직렬화 예외에 대한 자세한 내용을 제공 할 수 있습니다. http://pastebin.com/4zRHMrcA GWT 서블릿 : http://pastebin.com/rSUSymNi I + 세션빈 엔티티 (복사 붙여 넣기 스택 추적) 또는 – Barry

답변

1

위의 사양 을 준수 또는 com.google.gwt.user.client.rpc.IsSerializable가 직렬화 할 수있는 구현

http://code.google.com/webtoolkit/doc/latest/DevGuideServerCommunication.html#DevGuideSerializableTypes

모든 클래스를 참조하십시오. 예를 들어

: 문서에서

import com.google.gwt.user.client.rpc.IsSerializable; 
import java.util.HashMap; 

public class Row implements IsSerializable 
{ 
    private HashMap _row; 

    public Row() 
    { 
     _row = new HashMap(); 
    } 

    public Row(HashMap row) 
    { 
     _row = row; 
    } 

    public Object getCellValue(String columnName) 
    { 
     return _row.get(columnName); 
    } 

    public void setCellValue(String columnName, Object value) 
    { 
     _row.put(columnName, value); 
    } 

    public HashMap getRow() 
    { 
     return _row; 
    } 
} 

이 또한 아래 링크, 나는

http://code.google.com/webtoolkit/doc/latest/DevGuideServerCommunication.html#DevGuideCustomSerialization