Ajuda com erro em ( Persistence)

9 respostas
E

[b]bom , pessoas .
estou com muitas dificuldades para esta conectando java com banco de dados
com Persistencia...

se poderem me ajudar agradeço..............

alguns detalhers:

Banco de dados :SQLEVAL

[img]http://arq.menumoderno.com.br/menumoderno/erros/erro_JPA3.jpg[/img]
[img]http://arq.menumoderno.com.br/menumoderno/erros/erro_JPA2.jpg[/img]

agora o erro que esta dando :
[img]http://arq.menumoderno.com.br/menumoderno/erros/erro_JPA.jpg[/img]

classe persistence
package pacProj;
//classe persistence
import javax.persistence.*;

@Entity
@Table(name="ContaCorrente")
public class PersistConta implements java.io.Serializable 
{
	private int cc_id;
	private String cc_nome;
	private String cc_cpf;
	private String cc_agencia;
	private String cc_conta;


	public PersistConta()
	{}

	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name="cc_id")
	public int getId()
	{
		return cc_id;
	}

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

	@Column(name="cc_nome")
	public String getNome()
	{
		return cc_nome;
	}
	public void setNome(String nome)
	{
		this.cc_nome=nome;
	}

	@Column(name="cc_cpf")
	public String getCpf()
	{
		return cc_cpf;
	}
	public void setCpf(String cpf)
	{
		this.cc_cpf=cpf;
	}
	@Column(name="cc_agencia")
	public String getAg()
	{
		return cc_agencia;
	}
	public void setAg(String ag)
	{
		this.cc_agencia=ag;
	}
	@Column(name="cc_conta")
	public String getConta()
	{
		return cc_conta;
	}
	public void setConta(String ct)
	{
		this.cc_conta=ct;
	}
}
programinha para add. valores no banco
package pacProj;
import javax.swing.*;
import javax.persistence.*;
public class ProgramaConta {
	public static void main(String arg[])
	{
		EntityManagerFactory  emff = Persistence.createEntityManagerFactory("Unit");
		EntityManager em = emff.createEntityManager();
		em.getTransaction().begin();
		PersistConta pc = new PersistConta();
		pc.setNome(JOptionPane.showInputDialog("Digite o nome"));
		pc.setCpf(JOptionPane.showInputDialog("Digite o CPF"));
		pc.setAg(JOptionPane.showInputDialog("Digite a agência"));
		pc.setConta(JOptionPane.showInputDialog("Digite a conta"));
		try{
			em.persist(pc);
			em.getTransaction().commit();
		}
		catch(Exception e)
		{
			em.getTransaction().rollback();
		}
		em.close();
		emff.close();
		JOptionPane.showMessageDialog(null, "ID Gerado: "+pc.getId()+"\nNome: " + pc.getNome()+"\nCPF: "+pc.getCpf()+"\nAgencia: "+pc.getAg()+"\nConta: "+pc.getConta());
		System.exit(0);
	}
}
xml
<?xml version="1.0" encoding="windows-1252" ?>   
<persistence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
version="1.0" xmlns="http://java.sun.com/xml/ns/persistence">  

<persistence-unit name="Unit">
<provider>oracle.toplink.essentials.PersistenceProvider</provider>
<class>pacProj.PersistConta</class>
 <properties>
  <property name="toplink.jdbc.driver" value="sun.jdbc.odbc.JdbcOdbcDriver" />
  <property name="toplink.jdbc.url" value="jdbc:odbc:JPAODBC" ></property>
  <property name="toplink.jdbc.user" value="" />
  <property name="toplink.jdbc.password" value="" />
<property name="toplink.ddl-generation" value="create-tables" />
</properties>
</persistence-unit>
</persistence>

bom quem poder me ajudar com este erro ...
gradeço

ta ok

9 Respostas

H

edi-ss
Posta o erro.

E

rsrsrs…

esta na segunda imagem …

mas é isso aqui que da …

Exception in thread main javax.persistence.PersistenceException: No Persistence provider for EntityManager named Unit

at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:89)

at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:60)

at pacProj.ProgramaConta.main(ProgramaConta.java:7)

este erro so acontece qnd eu executo …

E

opsss …terceira imagem ne …

no programaConta…

H

edi-ss

Tenta fazer uma coisa colocar as anotações nos atributos e não nos metodos eu acho que por isso que esta dando erro
Exemplo vc fez assim

@Id   
@GeneratedValue(strategy=GenerationType.IDENTITY)   
@Column(name="cc_id")   
public int getId()   
{   
    return cc_id;   
}
No meu caso eu faria assim.

@Id

@GeneratedValue(strategy=GenerationType.IDENTITY)

@Column(name=cc_id)

private int cc_id;
e depois os metodos get e set

public int getCc_id()

{

return cc_id;

}

public void setCc_id(int cc_id)

{

this.cc_id = cc_id;

}

Verifique e ve se funciona

Até mais
Fernando_Generoso_da

Acho que o sistema não está “enxergando” o teu persistence.xml.

E

Hamses

a inda continua com o mesmo erro , mesmo fazendo do seu jeito …

e tbm , acho q nao tem diferença do seu para o meu nao em…


E

Fernando Generoso da Rosa

é pode ser , mas o nome a minha persistence - unit esta igual …

vc ou
alguem sabe como posso saber se minha aplicação esta se comunnicando com o XML…

por q eu nao sei ,
agradeço

Fernando_Generoso_da

poste toda sua estrutura de diretórios para ver se conseguimos achar o erro…

E

bom Ferando …
tudo que tenho aqui ja coloquei ai no post…

nas imagens … tem a estrutura …
projeto , os topLinks , a pasta meta-inf , o xml…

e tal … ve a img ai , e ver se da pra ajudar …

agradecido

Criado 2 de outubro de 2008
Ultima resposta 8 de out. de 2008
Respostas 9
Participantes 3