Ola pessoal estou estudando uma apostila da k-19, so que eu estou usando o netbeans e nao o eclipse como a apostila.
Pois bem criei um novo projeto web, adicionei manualmente as bibliotecas hibernate e log4,
Crie uma unidade de persistencia o persistence.xml
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package modelo;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
/**
*
* @author Fred
*/
@Entity
public class Editora {
@Id @GeneratedValue
private Long id;
private String nome;
private String email;
/**
* @return the id
*/
public Long getId() {
return id;
}
/**
* @param id the id to set
*/
public void setId(Long id) {
this.id = id;
}
/**
* @return the nome
*/
public String getNome() {
return nome;
}
/**
* @param nome the nome to set
*/
public void setNome(String nome) {
this.nome = nome;
}
/**
* @return the email
*/
public String getEmail() {
return email;
}
/**
* @param email the email to set
*/
public void setEmail(String email) {
this.email = email;
}
}
Fiz uma classe pra gerar as tabelas
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package modelo;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
/**
*
* @author Fred
*/
public class GeraTabelas {
public static void main (String[] args) {
EntityManagerFactory factory = Persistence.createEntityManagerFactory("Livraria1");
factory.close();
}
}
ao executar esta classe da o sequinte erro:
131228 [main] ERROR org.hibernate.ejb.packaging.PersistenceXmlLoader - Error parsing XML: XML InputStream(5) The entity name must immediately follow the '&' in the entity reference.
Exception in thread "main" javax.persistence.PersistenceException: Unable to configure EntityManagerFactory
at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:265)
at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:125)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:51)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)
at modelo.GeraTabelas.main(GeraTabelas.java:18)
Caused by: org.xml.sax.SAXParseException: The entity name must immediately follow the '&' in the entity reference.
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:249)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284)
at org.hibernate.ejb.packaging.PersistenceXmlLoader.loadURL(PersistenceXmlLoader.java:70)
at org.hibernate.ejb.packaging.PersistenceXmlLoader.deploy(PersistenceXmlLoader.java:89)
at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:222)
... 4 more
Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 2 minutos 13 segundos)
[quote=yhhik]faltou declarar suas classes no persistence xml
<class>pakage.classe</class>
fiz as alteracoes mais nada aconteceu
130142 [main] ERROR org.hibernate.ejb.packaging.PersistenceXmlLoader - Error parsing XML: XML InputStream(5) The entity name must immediately follow the '&' in the entity reference.
Exception in thread "main" javax.persistence.PersistenceException: Unable to configure EntityManagerFactory
at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:265)
at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:125)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:51)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)
at modelo.GeraTabelas.main(GeraTabelas.java:18)
Caused by: org.xml.sax.SAXParseException: The entity name must immediately follow the '&' in the entity reference.
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:249)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284)
at org.hibernate.ejb.packaging.PersistenceXmlLoader.loadURL(PersistenceXmlLoader.java:70)
at org.hibernate.ejb.packaging.PersistenceXmlLoader.deploy(PersistenceXmlLoader.java:89)
at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:222)
... 4 more
Java Result: 1
[quote=yhhik]cara vc tem certeza que está usando os Jar’s corretos?
tire os que vc colocou e add os jar’s do netbeans…só pra te certeza.
[/quote]
Coloquei exatamento o do netbeans clicando com botao direito em biblioteca e tal.
Nao usei aquele que ao criar o projeto ele pergunta se quero usar algum framework e tem entre as opcoes o hibernate, este nao marquei pois ai ele gera um arquivo o hibernate.cfg.xml.
E o exemplo que estou usando usa o arquivo persistence.xml
[quote=yhhik]Dica: deixe o framework mapear seu banco(ele vai configurar seu persistence e fazer as anotações) quando vc tiver mais experiencia vc faz na mão.
tenho! hj uso eclipse mas quando aprendir foi no netbeans e fazia isso e dava certo.
vai no seu pacote>botao direito>outro>persistence>classes de entidades do banco de dados>conexao do banco de dados>nova conexao>selecione o drive do mysql>proximo>configure sua conexao.
se vc configurou tudo certo…quando vc finalizar vai aparecer todas as tabelas de sua database,selecione elas e vai dando proximo e configurando o que vc quer.
[quote=yhhik]tenho! hj uso eclipse mas quando aprendir foi no netbeans e fazia isso e dava certo.
vai no seu pacote>botao direito>outro>persistence>classes de entidades do banco de dados>conexao do banco de dados>nova conexao>selecione o drive do mysql>proximo>configure sua conexao.
se vc configurou tudo certo…quando vc finalizar vai aparecer todas as tabelas de sua database,selecione elas e vai dando proximo e configurando o que vc quer.[/quote]
A taaa, mais e quando nao temos as tabelas e precisamos gerar atravez das classes?
vc não tem o banco ainda?
se vc ainda não tem o banco é na mão msm.
mas se vc tem o banco é so fazer isso o que eu disse.
pra cada tabela do BD vc vai ter uma classe na aplicação correto!?
o freamwork vai pegar essas tabelas e criar as classes.
[quote=yhhik]vc não tem o banco ainda?
se vc ainda não tem o banco é na mão msm.
mas se vc tem o banco é so fazer isso o que eu disse.
pra cada tabela do BD vc vai ter uma classe na aplicação correto!?
o freamwork vai pegar essas tabelas e criar as classes.