tags:

views:

36

answers:

1

Exception

java.lang.IllegalArgumentException: partidosPK.idEquipo
at javax.faces.component.UIComponentBase.validateId(UIComponentBase.java:551)
at javax.faces.component.UIComponentBase.setId(UIComponentBase.java:366)
at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply        (ComponentTagHandlerDelegateImpl.java:168)
at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:114)
at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:91)
at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:120)
at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:204)
at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:114)
at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:91)
at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:120)
at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:204)
at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:114)
at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:91)
at com.sun.faces.facelets.tag.ui.DefineHandler.applyDefinition(DefineHandler.java:97)
at com.sun.faces.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:172)

and keeps going... also Entity bean

private String ganador;
@Column(name = "fecha")
@Temporal(TemporalType.TIMESTAMP)
private Date fecha;
@Column(name = "golesEquipoGanador")
private Integer golesEquipoGanador;
@Column(name = "golesEquipoPerdedor")
private Integer golesEquipoPerdedor;
@Column(name = "perdedor")
private String perdedor;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "partidos")
private Collection<Goleadores> goleadoresCollection;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "partidos")
private Collection<SancionesJugadores> sancionesJugadoresCollection;
@JoinColumns({
    @JoinColumn(name = "idCampeonato", referencedColumnName = "idCampeonato", insertable = false, updatable = false),
    @JoinColumn(name = "idPartido", referencedColumnName = "idEquipo", insertable = false, updatable = false)})
@ManyToOne(optional = false)
private EquiposPorCampeonato equiposPorCampeonato;

public Partidos() {
}

public Partidos(PartidosPK partidosPK) {
    this.partidosPK = partidosPK;
}

public Partidos(int idCampeonato, int idEquipo, int idPartido) {
    this.partidosPK = new PartidosPK(idCampeonato, idEquipo, idPartido);
}

public PartidosPK getPartidosPK() {
    return partidosPK;
}

public void setPartidosPK(PartidosPK partidosPK) {
    this.partidosPK = partidosPK;
}

public String getGanador() {
    return ganador;
}

public void setGanador(String ganador) {
    this.ganador = ganador;
}

public Date getFecha() {
    return fecha;
}

public void setFecha(Date fecha) {
    this.fecha = fecha;
}

public Integer getGolesEquipoGanador() {
    return golesEquipoGanador;
}

public void setGolesEquipoGanador(Integer golesEquipoGanador) {
    this.golesEquipoGanador = golesEquipoGanador;
}

public Integer getGolesEquipoPerdedor() {
    return golesEquipoPerdedor;
}

public void setGolesEquipoPerdedor(Integer golesEquipoPerdedor) {
    this.golesEquipoPerdedor = golesEquipoPerdedor;
}

public String getPerdedor() {
    return perdedor;
}

public void setPerdedor(String perdedor) {
    this.perdedor = perdedor;
}

public Collection<Goleadores> getGoleadoresCollection() {
    return goleadoresCollection;
}

public void setGoleadoresCollection(Collection<Goleadores> goleadoresCollection) {
    this.goleadoresCollection = goleadoresCollection;
}

public Collection<SancionesJugadores> getSancionesJugadoresCollection() {
    return sancionesJugadoresCollection;
}

public void setSancionesJugadoresCollection(Collection<SancionesJugadores> sancionesJugadoresCollection) {
    this.sancionesJugadoresCollection = sancionesJugadoresCollection;
}

public EquiposPorCampeonato getEquiposPorCampeonato() {
    return equiposPorCampeonato;
}

public void setEquiposPorCampeonato(EquiposPorCampeonato equiposPorCampeonato) {
    this.equiposPorCampeonato = equiposPorCampeonato;
}

@Override
public int hashCode() {
    int hash = 0;
    hash += (partidosPK != null ? partidosPK.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 Partidos)) {
        return false;
    }
    Partidos other = (Partidos) object;
    if ((this.partidosPK == null && other.partidosPK != null) || (this.partidosPK != null && !this.partidosPK.equals(other.partidosPK))) {
        return false;
    }
    return true;
}

@Override
public String toString() {
    return "" + partidosPK + "";
}

}

related primaryKey entitybean

@Embeddable
public class PartidosPK implements Serializable {
@Basic(optional = false)
@Column(name = "idCampeonato")
private int idCampeonato;
@Basic(optional = false)
@Column(name = "idEquipo")
private int idEquipo;
@Basic(optional = false)
@Column(name = "idPartido")
private int idPartido;

public PartidosPK() {
}

public PartidosPK(int idCampeonato, int idEquipo, int idPartido) {
    this.idCampeonato = idCampeonato;
    this.idEquipo = idEquipo;
    this.idPartido = idPartido;
}

public int getIdCampeonato() {
    return idCampeonato;
}

public void setIdCampeonato(int idCampeonato) {
    this.idCampeonato = idCampeonato;
}

public int getIdEquipo() {
    return idEquipo;
}

public void setIdEquipo(int idEquipo) {
    this.idEquipo = idEquipo;
}

public int getIdPartido() {
    return idPartido;
}

public void setIdPartido(int idPartido) {
    this.idPartido = idPartido;
}

@Override
public int hashCode() {
    int hash = 0;
    hash += (int) idCampeonato;
    hash += (int) idEquipo;
    hash += (int) idPartido;
    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 PartidosPK)) {
        return false;
    }
    PartidosPK other = (PartidosPK) object;
    if (this.idCampeonato != other.idCampeonato) {
        return false;
    }
    if (this.idEquipo != other.idEquipo) {
        return false;
    }
    if (this.idPartido != other.idPartido) {
        return false;
    }
    return true;
}

@Override
public String toString() {
    return "" + idCampeonato + ", " + idEquipo + ", " + idPartido + "";
}
}

Last but not least

@Entity
@Table(name = "equipos")
@NamedQueries({
@NamedQuery(name = "Equipos.findAll", query = "SELECT e FROM Equipos e"),
@NamedQuery(name = "Equipos.findByIdEquipo", query = "SELECT e FROM Equipos e WHERE e.idEquipo = :idEquipo"),
@NamedQuery(name = "Equipos.findByNombre", query = "SELECT e FROM Equipos e WHERE e.nombre = :nombre")})
public class Equipos implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "idEquipo")
private Integer idEquipo;
@Basic(optional = false)
@Column(name = "nombre")
private String nombre;
@JoinColumn(name = "idSexo", referencedColumnName = "idSexo")
@ManyToOne(optional = false)
private Sexos idSexo;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "idEquipo")
private Collection<Jugadores> jugadoresCollection;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "equipos")
private Collection<EquiposPorCampeonato> equiposPorCampeonatoCollection;

public Equipos() {
}

public Equipos(Integer idEquipo) {
    this.idEquipo = idEquipo;
}

public Equipos(Integer idEquipo, String nombre) {
    this.idEquipo = idEquipo;
    this.nombre = nombre;
}

public Integer getIdEquipo() {
    return idEquipo;
}

public void setIdEquipo(Integer idEquipo) {
    this.idEquipo = idEquipo;
}

public String getNombre() {
    return nombre;
}

public void setNombre(String nombre) {
    this.nombre = nombre;
}

public Sexos getIdSexo() {
    return idSexo;
}

public void setIdSexo(Sexos idSexo) {
    this.idSexo = idSexo;
}

public Collection<Jugadores> getJugadoresCollection() {
    return jugadoresCollection;
}

public void setJugadoresCollection(Collection<Jugadores> jugadoresCollection) {
    this.jugadoresCollection = jugadoresCollection;
}

public Collection<EquiposPorCampeonato> getEquiposPorCampeonatoCollection() {
    return equiposPorCampeonatoCollection;
}

public void setEquiposPorCampeonatoCollection(Collection<EquiposPorCampeonato> equiposPorCampeonatoCollection) {
    this.equiposPorCampeonatoCollection = equiposPorCampeonatoCollection;
}

@Override
public int hashCode() {
    int hash = 0;
    hash += (idEquipo != null ? idEquipo.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 Equipos)) {
        return false;
    }
    Equipos other = (Equipos) object;
    if ((this.idEquipo == null && other.idEquipo != null) || (this.idEquipo != null && !this.idEquipo.equals(other.idEquipo))) {
        return false;
    }
    return true;
}

@Override
public String toString() {
    return "" + nombre + "";
}

}

Table scripts available if needed


Thank you very much.
Yes its spanish please bare with me!
Equipos == Teams;
Partidos == Matches;
Campeonatos == Championships;

+1  A: 

This exception is related to the view, not to the model. The exception is telling that you've set a component ID with the value partidosPK.idEquipo like as follows:

<h:someComponent id="partidosPK.idEquipo">

However, this ID is illegal as per the rules. It contains a dot .. Remove it or replace by _ or -. The rules are the same as for the HTML/CSS identifiers.

In CSS, identifiers (including element names, classes, and IDs in selectors) can contain only the characters [a-zA-Z0-9] and ISO 10646 characters U+00A1 and higher, plus the hyphen (-) and the underscore (_); they cannot start with a digit, or a hyphen followed by a digit.

BalusC
component reomved and working smooth thank youuu
Ignacio