Could not deserialize
fourierxform Sep 23, 2005 11:34 PMHi All,
I can't figure why I am getting the following errors:
javax.ejb.EJBException: null; CausedByException is: could not deserialize ... ... org.hibernate.type.SerializationException: could not deserialize ... ...
Here is the code:
User.java
@Entity
@Inheritance(strategy=InheritanceType.JOINED)
@Table(name="USERS")
public abstract class User implements Serializable {
private String userName, group;
public User() {
userName = new String();
group = new String();
}
@Id
@Column(name="USERNAME")
public String getUserName() {
return this.userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
@Column(name="GROUP")
public String getGroup() {
return this.group;
}
public void setGroup(String group) {
this.group = group;
}
}
PreferenceAction.java
public class PreferenceAction extends BaseDispatchAction {
public ActionForward view(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception
{
doView(form, request);
return mapping.findForward(IConstants.SUCCESS_KEY);
}
private void doView(ActionForm form, HttpServletRequest request)
throws Exception
{
Preference preference = factory.getApplicationBean().getPreference((User)getUser());
...
...
}
}
Preference.java
@Entity
@Table(name="PREFERENCES")
public class Preference implements Serializable {
private User user;
private String first, ...;
public Preference() {
user = null;
first = new String();
...
...
}
@Id
@OneToOne
@JoinColumn(name="USERNAME")
public User getUser() {
return this.user;
}
public void setUser(User user) {
this.user = user;
}
@Column(name="FIRST")
public String getFirst() {
return this.first;
}
public void setFirst(String first) {
this.first = first;
}
...
...
}
ApplicationBean.java
@Stateless
public class ApplicationBean implements Application {
@PersistenceContext(unitName="db")
EntityManager em;
public Preference getPreference(User user) {
return (Preference) em.createQuery("from Preference p where p.user = :user")
.setParameter ("user", user)
.getSingleResult();
}
}
Thanks!!