esse metodo funciona quando ja tem algum registro na tabela cliente do banco, apaguei a tabela cliente esta zerada sem nenhum dado, e quando executo o metodo com o banco zerado da o seguinte erro dizendo que ID=null, logico que é null nao tenho nenhum dado no banco, nao existe nenhuma tabela no banco
[EL Warning]: 2013-03-03 19:56:56.484–The collection of metamodel types is empty. Model classes may not have been found during entity search for Java SE and some Java EE container managed persistence units. Please verify that your entity classes are referenced in persistence.xml using either elements or a global false element
Exception in thread “main” java.lang.IllegalArgumentException: Object: jpa_mysql.modelo.cliente[ id=null ] is not a known entity type.
Não sei c é isso mas a mensagem de erro diz: Object: jpa_mysql.modelo.cliente[ id=null ] is not a known entity type.
fabiodurgante
sim e o que posso fazer para solucionar o problema ???
Hebert_Coelho
fabiodurgante:
sim e o que posso fazer para solucionar o problema ???
Como está a classe cliente?
freakazoid
Você esta gerando o ID através de uma sequence? Se sim, a sequencia pode ter perdido a referencia. Para resolver este problema você pode editar a sequence setando na mão o próximo valor da sequencia ou simplesmente apagar e criá-la novamente.
Abs!
fabiodurgante
classe cliente
/* * To change this template, choose Tools | Templates * and open the template in the editor. */packagemodelo;importjava.io.Serializable;importjavax.persistence.Basic;importjavax.persistence.Column;importjavax.persistence.Entity;importjavax.persistence.GeneratedValue;importjavax.persistence.GenerationType;importjavax.persistence.Id;importjavax.persistence.NamedQueries;importjavax.persistence.NamedQuery;importjavax.persistence.Table;importjavax.xml.bind.annotation.XmlRootElement;/** * * @author Humberto */@Entity@Table(name="cliente_modelo")@XmlRootElement@NamedQueries({@NamedQuery(name="ClienteModelo.findAll",query="SELECT c FROM ClienteModelo c"),@NamedQuery(name="ClienteModelo.findById",query="SELECT c FROM ClienteModelo c WHERE c.id = :id"),@NamedQuery(name="ClienteModelo.findByNome",query="SELECT c FROM ClienteModelo c WHERE c.nome = :nome")})publicclassClienteModeloimplementsSerializable{privatestaticfinallongserialVersionUID=1L;@Id@GeneratedValue(strategy=GenerationType.IDENTITY)@Basic(optional=false)@Column(name="ID")privateLongid;@Column(name="NOME")privateStringnome;publicClienteModelo(){}publicClienteModelo(Longid){this.id=id;}publicLonggetId(){returnid;}publicvoidsetId(Longid){this.id=id;}publicStringgetNome(){returnnome;}publicvoidsetNome(Stringnome){this.nome=nome;}@OverridepublicinthashCode(){inthash=7;hash=47*hash+(this.id!=null?this.id.hashCode():0);hash=47*hash+(this.nome!=null?this.nome.hashCode():0);returnhash;}@Overridepublicbooleanequals(Objectobj){if(obj==null){returnfalse;}if(getClass()!=obj.getClass()){returnfalse;}finalClienteModeloother=(ClienteModelo)obj;if(this.id!=other.id&&(this.id==null||!this.id.equals(other.id))){returnfalse;}if((this.nome==null)?(other.nome!=null):!this.nome.equals(other.nome)){returnfalse;}returntrue;}@OverridepublicStringtoString(){return"modelo.ClienteModelo[ id="+id+" ]";}}
essa classe o netbeans cria sozinho.
Hebert_Coelho
Sua classe se chama ClienteModelo e você está persistindo uma de nome cliente?
Object: jpa_mysql.modelo.cliente[ id=null ] is not a known entity type.
fabiodurgante
outra coisa que percebo o codigo abaixo funciona para update