Erro ao Persisitir Objetos

Ola Amigos

Estou tentando persistir objetos e estou com o seguinte erro:

init:
deps-jar:
compile:
run:
[TopLink Info]: 2008.07.09 11:56:20.765–ServerSession(21061094)–TopLink, version: Oracle TopLink Essentials - 2.0 (Build b41-beta2 (03/30/2007))
[TopLink Info]: 2008.07.09 11:56:22.765–ServerSession(21061094)–file:/D:/Meus%20Documentos/Projetos/PROJETO_PERSISTENCIA/JavaPersistencia/build/classes/-TesteJPAPU login successful
Exception in thread “main” java.lang.IllegalArgumentException: Object: br.com.farzacsystem.Usuario@56f631 is not a known entity type.
at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.registerNewObjectForPersist(UnitOfWorkImpl.java:319
at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerImpl.persist(EntityManagerImpl.java:190)
at br.com.farzacsystem.TestePersistencia.main(TestePersistencia.java:26)
Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 17 segundos)

A minha classe Usuario esta assim:

package br.com.farzacsystem;

/**
*

  • @author zaccantte
    */
    import java.io.Serializable;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.Id;
    import javax.persistence.NamedQueries;
    import javax.persistence.NamedQuery;
    import javax.persistence.Table;

@Entity
@Table(name = “Usuario”)
@NamedQueries
(
{
@NamedQuery(name = “Usuario.findById”, query = “SELECT u FROM Usuario u WHERE u.id = :id”),
@NamedQuery(name = “Usuario.findByNome”, query = “SELECT u FROM Usuario u WHERE u.nome = :nome”),
@NamedQuery(name = “Usuario.findBySobrenome”, query = “SELECT u FROM Usuario u WHERE u.sobrenome = :sobrenome”),
@NamedQuery(name = “Usuario.findByIdade”, query = “SELECT u FROM Usuario u WHERE u.idade = :idade”)
}
)
public class Usuario implements Serializable
{
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = “id”, nullable = false)
private int id;

@Column(name = “nome”, nullable = false)
private String nome;

@Column(name = “sobrenome”, nullable = false)
private String sobrenome;

@Column(name = “idade”, nullable = false)
private int idade;

public void setId(int id)
{
this.id = id;
}
public int getId()
{
return this.id;
}

public void setNome(String nome)
{
this.nome = nome;
}

public String getNome()
{
return this.nome;
}

public void setIdade(int idade)
{
this.idade = idade;
}

public int getIdade()
{
return this.idade;
}

public String getSobrenome()
{
return sobrenome;
}

public void setSobrenome(String sobrenome) {
this.sobrenome = sobrenome;
}
}

A minha classe TestePersistencia esta asiim:

package br.com.farzacsystem;

import javax.swing.JOptionPane;
import javax.persistence.*;

public class TestePersistencia
{
public static void main(String[] args)
{
String nome;
String sobrenome;
int idade;

EntityManagerFactory emf = Persistence.createEntityManagerFactory(“TesteJPAPU”);
EntityManager em = emf.createEntityManager();
em.getTransaction().begin();

Usuario usr = new Usuario();
nome = JOptionPane.showInputDialog(“Insira o Nome do Usuário:”);
usr.setNome(nome);
sobrenome = JOptionPane.showInputDialog(“Insira o Sobrenome do Usuário:”);
usr.setSobrenome(sobrenome);
idade = Integer.parseInt(JOptionPane.showInputDialog(“Insira sua idade:”));
usr.setIdade(idade);

em.persist(usr);// persist(usr);
em.getTransaction().commit();
em.close();
emf.close();
JOptionPane.showMessageDialog(null,"ID: “+usr.getId()+”\nNome: "+usr.getNome()+
"\nSobrenome: “+usr.getSobrenome()+”\nIdade: "+usr.getIdade(),
“Usuário Persistido”,JOptionPane.INFORMATION_MESSAGE);
}
}

A estrutura da tabela esta assim:

mysql> desc usuario;
±-------------±-------------±-----±----±--------±-----------------+
| Field | Type | Null | Key | Default | Extra |
±-------------±-------------±-----±----±--------±------------------+
| ID | int(11) | NO | PRI | NULL | auto_increment |
| Nome | varchar(60) | NO | | NULL | |
| Sobrenome | varchar(60) | NO | | NULL | |
| Idade | int(11) | YES | | NULL | |
±-------------±--------------±-----±----±--------±-----------------+
4 rows in set (0.00 sec)

Espero que alguem possa me ajudar ou alguem tenha outro codigo mais simples, quero apenas aprender persistir objetos.

Caso alguem ter algum codigo de persistencia de objetos e puder me passar.

Desde ja, muito obrigado.

No site http://www.fabiosantiago.com.br/
tem um exemplo completo de como fazer ele inclusive
usa o toplink.Posta seu xml ai.

Ele bem que podia evitar duplicar tópicos, além deste, existem 3 iguais…

http://www.guj.com.br/posts/list/96776.java
http://www.guj.com.br/posts/list/96777.java
http://www.guj.com.br/posts/list/96432.java

Meu caro samuelhenriquerj

Entao vou colaborar com o GUJ, nao vou mais duplicar codigo e vai ser gracas a voce.

Envia pra mim um material que explique desde um persistence.xml ate uma classe de persitencia.

Caso seu exemplo funcione, prometo qua nao vou mais lhe aborrecer duplicando codigos, a gora se voce nao souber, então por favor, deixe eu aprender.

Fico aguardando seu codigo.

Abraços…

Amigos

Quero agradecer a todos que me ajudaram a persistir objetos com dicas, graças as dicas de todos do forum consegui persisti objetos depois de muito tempo tentando.

Quem quizer um codigo completo sobre persistencia de objetos, acessar o link http://www.guj.com.br/posts/list/0/96776.java, pois neste link esta a minha duvida e a solução do problema informado por um membro do forum.

Desde ja, muito obrigado a todos.