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.