我想使用GWT的RequestFactory(此刻)做一些非常簡單的事情,並返回一個對象列表,每個對象都包含一些數據和另一個對象。我似乎無法得到我的其他對象 - 相反,我總是得到空。GWT RequestFactory返回空對象
我的代碼看起來是這樣的......
我有一些UserMessage對象,每個包括一個Message對象。
UserMessage
@Entity
public class UserMessage implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
private Long id;
@Version
private Integer version = 0;
@ManyToOne
@JoinColumn(name = "messageId")
private Message message;
private String user;
private int priority;
private boolean read;
private Date expiry;
private boolean sent;
... getter/setters etc
消息
@Entity(name = "UUMessage")
public class Message implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
private Long id;
@Version
private Integer version = 0;
private String title;
private String mimeType;
private String message;
private Date received;
private String fromUser;
public Message() {
}
... getter/setters etc
每個都有自己的代理類
UserMessageProxy
@ProxyFor(value = UserMessage.class, locator = UserMessageLocator.class)
public interface UserMessageProxy extends EntityProxy {
Long getId();
void setId(Long id);
MessageProxy getMessage();
void setMessage(MessageProxy message);
String getUser();
}
MessageProxy
@ProxyFor(value = Message.class, locator = MessageLocator.class)
public interface MessageProxy extends EntityProxy {
Long getId();
void setId(Long id);
String getTitle();
void setTitle(String title);
}
我有一個工廠和上下文
@Service(value = CentralNotificationService.class, locator = CentralNotificationServiceLocator.class)
public interface CnsRequestContext extends RequestContext {
Request<List<UserMessageProxy>> getMessagesForUser(String user, int start, int length);
}
當我打電話getMessagesForUser(...)的客戶端我的服務器端服務代碼被調用,數據庫中的條目被檢索,並且我得到返回給客戶端的UserMessageProxy列表。不幸的是,在任何這些返回值上調用getMessage()都會返回null,我無法解決原因。
我沒有收到任何錯誤或警告。在服務器端,我可以「看到」當RequestFactory代碼調用我的服務類時,UserMessage包含Message對象。
爲什麼我的對象爲空?有沒有我不滿意的條件?
GWT 2.4 BTW(但也有2.3的問題)
完全正確。謝謝。 – pauli