jsf - java.lang.IllegalArgumentException at javax.faces.component.UIComponentBase.validateId -
exception
java.lang.illegalargumentexception: partidospk.idequipo @ javax.faces.component.uicomponentbase.validateid(uicomponentbase.java:551) @ javax.faces.component.uicomponentbase.setid(uicomponentbase.java:366) @ com.sun.faces.facelets.tag.jsf.componenttaghandlerdelegateimpl.apply (componenttaghandlerdelegateimpl.java:168) @ javax.faces.view.facelets.delegatingmetataghandler.apply(delegatingmetataghandler.java:114) @ javax.faces.view.facelets.compositefacelethandler.apply(compositefacelethandler.java:91) @ javax.faces.view.facelets.delegatingmetataghandler.applynexthandler(delegatingmetataghandler.java:120) @ com.sun.faces.facelets.tag.jsf.componenttaghandlerdelegateimpl.apply(componenttaghandlerdelegateimpl.java:204) @ javax.faces.view.facelets.delegatingmetataghandler.apply(delegatingmetataghandler.java:114) @ javax.faces.view.facelets.compositefacelethandler.apply(compositefacelethandler.java:91) @ javax.faces.view.facelets.delegatingmetataghandler.applynexthandler(delegatingmetataghandler.java:120) @ com.sun.faces.facelets.tag.jsf.componenttaghandlerdelegateimpl.apply(componenttaghandlerdelegateimpl.java:204) @ javax.faces.view.facelets.delegatingmetataghandler.apply(delegatingmetataghandler.java:114) @ javax.faces.view.facelets.compositefacelethandler.apply(compositefacelethandler.java:91) @ com.sun.faces.facelets.tag.ui.definehandler.applydefinition(definehandler.java:97) @ com.sun.faces.facelets.tag.ui.compositionhandler.apply(compositionhandler.java:172)
and keeps going... 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 - method won't work in case id fields 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 - method won't work in case id fields 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 not least
@entity @table(name = "equipos") @namedqueries({ @namedquery(name = "equipos.findall", query = "select e equipos e"), @namedquery(name = "equipos.findbyidequipo", query = "select e equipos e e.idequipo = :idequipo"), @namedquery(name = "equipos.findbynombre", query = "select e equipos e 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 - method won't work in case id fields 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 much.
yes spanish please bear me!
equipos == teams;
partidos == matches;
campeonatos == championships;
this exception related view, not model. exception telling you've set component id value partidospk.idequipo
follows:
<h:somecomponent id="partidospk.idequipo">
however, id illegal per rules. contains dot .
. remove or replace _
or -
. rules same html/css identifiers.
in css, identifiers (including element names, classes, , ids in selectors) can contain characters [a-za-z0-9] , iso 10646 characters u+00a1 , higher, plus hyphen (-) , underscore (_); cannot start digit, or hyphen followed digit.
Comments
Post a Comment