0
我使用Apache打開JPA訪問我的數據庫在服務器端。我試圖從我的gwt客戶端調用服務器以檢索實體對象,但這個請求總是失敗,並顯示錯誤消息:NoClassDefFoundError org/apache/openjpa/enhance/PersistenceCapable。客戶端PersistenceCapable NoClassDefFoundError序列化實體對象從服務器到客戶端使用gwt
我試圖在gwt.xml文件中定義我的增強實體類,並沒有幫助:
<set-configuration-property name="rpc.enhancedClasses" value="com.jobsin.domain.SystemUser,com.jobsin.domain.Keyword,com.jobsin.domain.Job">/
我的服務器功能:
public SystemUser getCurrentUser()
throws InvalidUser{
HttpServletRequest httpServletRequest = this.getThreadLocalRequest();
HttpSession session = httpServletRequest.getSession();
SystemUser user=null;
Cookie[] cookies = httpServletRequest.getCookies();
SocialNetworkCookie cookie = network.generateCookieObject();
if(!cookie.init(cookies)){
session.invalidate();
throw new InvalidUser(); // no user was connected, user need to login
}
//try get user details from db
EntityManager em = factory.createEntityManager();
SystemUserDAOImpl userdao = new SystemUserDAOImpl(em);
user = userdao.findUserByNetworkId(cookie.getMemberId());
//make user detach
em.close();
return user;
}
SystemUser類:
@Entity
public class SystemUser implements Serializable
{
/**
*
*/
private static final long serialVersionUID = -1673271845552139219L;
@Id
@GeneratedValue
private long id;
@NotNull
private String firstName;
@NotNull
private String lastName;
@NotNull
@Column(unique=true)
private String email;
@Temporal(TemporalType.TIMESTAMP)
private Date lastSearch;
@ManyToMany(cascade = CascadeType.ALL)
private Set<Job> jobs = new HashSet<Job>();
@ManyToMany(cascade = CascadeType.ALL)
private Set<Keyword> keywords = new HashSet<Keyword>();
}
openjpa jar位於WEB-INF/lib庫下。我使用gwt eclipse插件運行服務器(jeti)。還有什麼我應該做的? – user2022561 2013-02-15 07:04:19