Ola todos!
Alterei todas as minhas classes conforme o post do ln30. Deem uma olhada.
package entities;
import com.sun.xml.internal.bind.CycleRecoverable;
import java.io.Serializable;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
@Entity
@Table(name = "AFILIADO")
@NamedQueries({
@NamedQuery(name = "Afiliado.findAll", query = "SELECT a FROM Afiliado a"),
@NamedQuery(name = "Afiliado.findByIdAfiliado", query = "SELECT a FROM Afiliado a WHERE a.idAfiliado = :idAfiliado"),
@NamedQuery(name = "Afiliado.findByNome", query = "SELECT a FROM Afiliado a WHERE a.nome = :nome"),
@NamedQuery(name = "Afiliado.findByTel", query = "SELECT a FROM Afiliado a WHERE a.tel = :tel"),
@NamedQuery(name = "Afiliado.findBySenha", query = "SELECT a FROM Afiliado a WHERE a.senha = :senha")})
public class Afiliado implements Serializable, CycleRecoverable {
// Tive que adicionar aqui o @Transient
private String id;
public Afiliado(String id) {
this.id = id;
}
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@Column(name = "ID_AFILIADO")
private Integer idAfiliado;
@Basic(optional = false)
@Column(name = "NOME")
private String nome;
@Basic(optional = false)
@Column(name = "TEL")
private String tel;
@Basic(optional = false)
@Column(name = "SENHA")
private String senha;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "idAfiliado")
private List<Pedido> pedidoList;
public Afiliado() {
}
public Afiliado(Integer idAfiliado) {
this.idAfiliado = idAfiliado;
}
public Afiliado(Integer idAfiliado, String nome, String tel, String senha) {
this.idAfiliado = idAfiliado;
this.nome = nome;
this.tel = tel;
this.senha = senha;
}
public Integer getIdAfiliado() {
return idAfiliado;
}
public void setIdAfiliado(Integer idAfiliado) {
this.idAfiliado = idAfiliado;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
public List<Pedido> getPedidoList() {
return pedidoList;
}
public void setPedidoList(List<Pedido> pedidoList) {
this.pedidoList = pedidoList;
}
@Override
public int hashCode() {
int hash = 0;
hash += (idAfiliado != null ? idAfiliado.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
if (!(object instanceof Afiliado)) {
return false;
}
Afiliado other = (Afiliado) object;
if ((this.idAfiliado == null && other.idAfiliado != null) || (this.idAfiliado != null && !this.idAfiliado.equals(other.idAfiliado))) {
return false;
}
return true;
}
@Override
public String toString() {
return "entities.Afiliado[idAfiliado=" + idAfiliado + "]";
}
public Object onCycleDetected(CycleRecoverable.Context context) {
Afiliado afiliado = new Afiliado(this.id);
return afiliado;
}
}
Mas agora tenho problemas com o import com.sun.xml.internal.bind.CycleRecoverable; Olha o erro ao compilar!
C:\Users\Boss\Documents\0-Desenvolvimento\GED\WS5\src\java\entities\Afiliado.java:4: package com.sun.xml.internal.bind does not exist
import com.sun.xml.internal.bind.CycleRecoverable;
C:\Users\Boss\Documents\0-Desenvolvimento\GED\WS5\src\java\entities\Afiliado.java:30: cannot find symbol
symbol: class CycleRecoverable
public class Afiliado implements Serializable, CycleRecoverable {
C:\Users\Boss\Documents\0-Desenvolvimento\GED\WS5\src\java\entities\Pedido.java:3: package com.sun.xml.internal.bind does not exist
import com.sun.xml.internal.bind.CycleRecoverable;
Importei pra minha lib (netbeans) o jaxb-impl.jar e nada.
Vcs tiveram o mesmo problema? Isso ta me deixando louco!
Algumas classes em que o id é uma string (ESTADO) tive que comentar um dos construtores. Vejam
package entities;
import com.sun.xml.internal.bind.CycleRecoverable;
import java.io.Serializable;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Transient;
//import javax.xml.bind.annotation.XmlTransient;
/**
*
* @author Applied Minds
*/
@Entity
@Table(name = "ESTADO")
@NamedQueries({
@NamedQuery(name = "Estado.findAll", query = "SELECT e FROM Estado e"),
@NamedQuery(name = "Estado.findByIdEstado", query = "SELECT e FROM Estado e WHERE e.idEstado = :idEstado"),
@NamedQuery(name = "Estado.findByCidade", query = "SELECT e FROM Estado e WHERE e.cidade = :cidade")})
public class Estado implements Serializable, CycleRecoverable {
@Transient
private String id;
public Estado(String id) {
this.id = id;
}
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@Column(name = "ID_ESTADO")
private String idEstado;
@Basic(optional = false)
@Column(name = "CIDADE")
private String cidade;
// @XmlTransient Aqui
@OneToMany(cascade = CascadeType.ALL, mappedBy = "estado")
private List<ValorPrazo> valorPrazoList;
public Estado() {
}
// public Estado(String idEstado) {
// this.idEstado = idEstado;
// }
public Estado(String idEstado, String cidade) {
this.idEstado = idEstado;
this.cidade = cidade;
}
public String getIdEstado() {
return idEstado;
}
public void setIdEstado(String idEstado) {
this.idEstado = idEstado;
}
public String getCidade() {
return cidade;
}
public void setCidade(String cidade) {
this.cidade = cidade;
}
// @XmlTransient Aqui
public List<ValorPrazo> getValorPrazoList() {
return valorPrazoList;
}
public void setValorPrazoList(List<ValorPrazo> valorPrazoList) {
this.valorPrazoList = valorPrazoList;
}
@Override
public int hashCode() {
int hash = 0;
hash += (idEstado != null ? idEstado.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id fields are not set
if (!(object instanceof Estado)) {
return false;
}
Estado other = (Estado) object;
if ((this.idEstado == null && other.idEstado != null) || (this.idEstado != null && !this.idEstado.equals(other.idEstado))) {
return false;
}
return true;
}
@Override
public String toString() {
return "entities.Estado[idEstado=" + idEstado + "]";
}
public Object onCycleDetected(CycleRecoverable.Context context) {
Estado estado = new Estado(this.id);
return estado;
}
}
Muito provavelmente estou fazendo algo errado. So nao sei o que.
Agradeco qualquer ajuda dos senhores.
Abraço