Acho que tem algum erro na configuracao persistence.xml

6 respostas
M

pessoal esta dando este erro ao persistir uma entidade, esta gerando um erro que nao sei oq pode ser.
vou postar o erro e ja agradeco pela ajuda.

Exception in thread "main" javax.persistence.PersistenceException: [PersistenceUnit: teste] Unable to build EntityManagerFactory at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:914) at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:889) at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:56) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:63) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:47) at persistencia.dao.AbstractEntityManager.getEntityManagerFactory(AbstractEntityManager.java:15) at persistencia.dao.AbstractEntityManager.getEntityManager(AbstractEntityManager.java:22) at persistencia.dao.ClienteDao.grava(ClienteDao.java:14) at persistencia.dao.ClienteDao.main(ClienteDao.java:25) Caused by: org.hibernate.HibernateException: Unable to determine Dialect to use [name=Firebird 2.12WI-V2.1.3.18185 Firebird 2.1/tcp (Michael-NOT)/P10, majorVersion=2]; user must register resolver or explicitly set 'hibernate.dialect' at org.hibernate.service.jdbc.dialect.internal.DialectFactoryImpl.determineDialect(DialectFactoryImpl.java:105) at org.hibernate.service.jdbc.dialect.internal.DialectFactoryImpl.buildDialect(DialectFactoryImpl.java:67) at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:146) at org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:75) at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:159) at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131) at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:71) at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2273) at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2269) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1738) at org.hibernate.ejb.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:94) at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:904) ... 8 more

6 Respostas

diegosantiviago

Tenta colocar isso no arquivo:

<property name="hibernate.dialect">org.hibernate.dialect.FirebirdDialect</property>
M

entao este é meu arquivo persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.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_2_0.xsd">

	<persistence-unit name="teste" transaction-type="RESOURCE_LOCAL">
		<provider>org.hibernate.ejb.HibernatePersistence</provider>
		 <exclude-unlisted-classes>false</exclude-unlisted-classes> 
		<!-- <class>entidade.Pessoa</class>  -->
		<properties>
			<property name="hibernate.connection.driver_class" value="org.firebirdsql.jdbc.FBDriver" />
			<property name="hibernate.connection.username" value="SYSDBA" />
			<property name="hibernate.connection.password" value="masterkey" />
			<property name="hibernate.connection.url" value="jdbc:firebirdsql:localhost/3050:D:/java/COMERCIO.GDB" />
			<property name="hibernate.connection.dialect" value="org.hibernate.dialect.FirebirdDialect" />
			<property name="hibernate.hbm2ddl.auto" value="update" />
			<property name="hibernate.show_sql" value="true" />  
            <property name="hibernate.format_sql" value="true" /> 
		</properties>
	</persistence-unit>

</persistence>
diegosantiviago

tenta trocar hibernate.connection.dialect por hibernate.dialect

perceba que não tem o connection!

<property name="hibernate.dialect">org.hibernate.dialect.FirebirdDialect</property>
M

diegosantiviago a agradeco muitooooooooo deu certo estava com o “hibernate” a mais, persistiu corretamente…

Obrigadaooooooooo.

M

melhor estava com o “connection” a mais…

diegosantiviago

Heheheh eu entendi. :slight_smile:

Criado 21 de abril de 2012
Ultima resposta 21 de abr. de 2012
Respostas 6
Participantes 2