1

JSON を受信し、オブジェクトに変換して EJB に送信する REST サービスがあります。問題は、EJB 内のメソッドが呼び出されたときに、オブジェクトのすべての属性が null になることです..

オブジェクト参照が失われているようです:


- 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