1

我有一个 REST 服务,它接收 JSON,转换为 Object 并将其发送到 EJB。问题是当调用 EJB 中的方法时,我的对象的所有属性都是空的。

看起来对象引用正在丢失:


- REST 类中的参考:

entities.login.Usuario@8d744cc7


- EJB 内部参考:

entities.login.Usuario@a1


我已经覆盖了我的班级 Usuario 中的 equals 和 hashCode:

@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "usuario")
@JsonRootName(value = "usuario")
@Entity
@Table(name = "USUARIO")
public class Usuario implements Entidade {

private static final long serialVersionUID = -4638207002664824130L;
...


@Override
public boolean equals(Object obj) {
    if(obj != null && (obj instanceof Usuario)  && ((Usuario) obj).getEmail().equalsIgnoreCase(this.getEmail())){
        return true;
    } else {
        return false;
    }
}

@Override
public int hashCode() {
    int hash = 7;
    hash = 23 * hash + ((getEmail()) != null ? getEmail().hashCode() : 0);
    return hash;
}
}


我的 REST 课程:

@Path("/usuario")
public class UsuarioRest {
    @POST
    @Path("/login")
    @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
    @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
    public Response login(Usuario usuario){     
        return Response.ok(usuarioService.getUsuario(usuario)).build();
    }
}


有什么想法吗?我正在使用 Java 7、EJB 3.1、REST 2.0。

提前致谢。

4

0 回答 0