Erro: Unable to build EntityManagerFactory

1 resposta
A

to com dor de cabeca ja pessoal.

minha classe que eh executada:
private EntityManagerFactory factory;
private EntityManager em;

public void inserir(Usuario u) {
	//em.persist(u);
	
	factory = Persistence.createEntityManagerFactory("unidade");
	em = factory.createEntityManager();
	
	Usuario us = new UsuarioEmpresa();
	us.setNome("Empresa Dois");
	us.setEmail("[email removido]");
	us.setDescricao("Descricao nossa");
	
	em.getTransaction().begin();
	
	//em.persist(us);
	em.persist(u);
	
	em.getTransaction().commit();
	
	em.close();
	factory.close();
}
o persistence.xml (que fica na pasta WEB-INF):
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/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">
	<persistence-unit name="unidade" transaction-type="JTA">
		<provider>org.hibernate.ejb.HibernatePersistence</provider>
		<jta-data-source>java:/meudatasource</jta-data-source>
		<properties>
			<property name="hibernate.hbm2ddl.auto" value="update"/>
			<property name="hibernate.format_sql" value="true"/>
			<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
			<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
			<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/meubanco"/>
			<property name="hibernate.archive.autodetection" value="class"/>
                        <property name="hibernate.show_sql" value="true"/>
	 		<property name="hibernate.connection.username" value="root"/>
			<property name="hibernate.connection.password" value=""/>
		</properties>
	</persistence-unit>
</persistence>
A exception:
Exception in thread "main" javax.persistence.PersistenceException: [PersistenceUnit: unidade] Unable to build EntityManagerFactory at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:677) at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:126) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:52) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:34) at dao.UsuarioService.inserir(UsuarioService.java:20) at test.TestCriaUsuarios.main(TestCriaUsuarios.java:39) Caused by: org.hibernate.HibernateException: Could not find datasource at org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:79) at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:137) at org.hibernate.ejb.InjectionSettingsFactory.createConnectionProvider(InjectionSettingsFactory.java:29) at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:89) at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2101) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1325) at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867) at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669) ... 5 more Caused by: javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial at javax.naming.spi.NamingManager.getInitialContext(Unknown Source) at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source) at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source) at javax.naming.InitialContext.lookup(Unknown Source) at org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:75) ... 12 more
alguem sabe o que pode ser? onde devo deixar o datasource (em que pasta)?

1 Resposta

R

resolveu teu problema amigo? to com o mesmo problema…

Criado 17 de setembro de 2009
Ultima resposta 13 de out. de 2009
Respostas 1
Participantes 2