ERRO Mysql

6 respostas
G

Estou com mysql instalado, rodando com o database certo criado.
O connector j ja esta no class path.

O properties esta desta forma.

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
	"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
	"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

	<session-factory>

		<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
		<property name="hibernate.connection.url">jdbc:mysql://localhost/homeworks</property>
		<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
		
		
		<property name="hibernate.connection.username">root</property>
		<property name="hibernate.connection.password">***********</property>
		
		
		<property name="hibernate.show_sql">true</property>
		<property name="hibernate.format_sql">true</property>
		<property name="hibernate.hbm2ddl.auto">update</property>
		<property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>

		<mapping class="br.com.homeworks.model.Message" />
		

	</session-factory>

</hibernate-configuration>
E o erro 'e esse:
16:48:06,168  INFO [Version             ] Hibernate Annotations 3.4.0.GA
16:48:06,188  INFO [Environment         ] Hibernate 3.3.2.GA
16:48:06,188  INFO [Environment         ] hibernate.properties not found
16:48:06,188  INFO [Environment         ] Bytecode provider name : javassist
16:48:06,198  INFO [Environment         ] using JDK 1.4 java.sql.Timestamp handling
16:48:06,278  INFO [Version             ] Hibernate Commons Annotations 3.1.0.GA
16:48:06,278  INFO [Configuration       ] configuring from resource: /hibernate.cfg.xml
16:48:06,278  INFO [Configuration       ] Configuration resource: /hibernate.cfg.xml
16:48:06,348  INFO [Configuration       ] Configured SessionFactory: null
16:48:06,358  INFO [Dialect             ] Using dialect: org.hibernate.dialect.MySQLDialect
16:48:06,458  INFO [AnnotationBinder    ] Binding entity from annotated class: br.com.homeworks.model.Community
16:48:06,498  INFO [EntityBinder        ] Bind entity br.com.homeworks.model.Community on table Community
16:48:06,528  INFO [AnnotationBinder    ] Binding entity from annotated class: br.com.homeworks.model.Message
16:48:06,528  INFO [EntityBinder        ] Bind entity br.com.homeworks.model.Message on table Message
16:48:06,528  INFO [AnnotationBinder    ] Binding entity from annotated class: br.com.homeworks.model.User
16:48:06,528  INFO [EntityBinder        ] Bind entity br.com.homeworks.model.User on table User
16:48:06,528  INFO [AnnotationBinder    ] Binding entity from annotated class: br.com.homeworks.model.Project
16:48:06,528  INFO [EntityBinder        ] Bind entity br.com.homeworks.model.Project on table Project
16:48:06,538  INFO [Version             ] Hibernate Validator 3.1.0.GA
16:48:06,618  INFO [SchemaExport        ] Running hbm2ddl schema export
16:48:06,628  INFO [SchemaExport        ] exporting generated schema to database
16:48:06,628  INFO [DriverManagerConnectionProvider] Using Hibernate built-in connection pool (not for production use!)
16:48:06,628  INFO [DriverManagerConnectionProvider] Hibernate connection pool size: 20
16:48:06,628  INFO [DriverManagerConnectionProvider] autocommit mode: false
16:48:06,638  INFO [DriverManagerConnectionProvider] using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://localhost/homeworks
16:48:06,638  INFO [DriverManagerConnectionProvider] connection properties: {user=root, password=****}
Exception in thread "main" java.lang.NoSuchMethodError: org.hsqldb.DatabaseURL.parseURL(Ljava/lang/String;ZZ)Lorg/hsqldb/persist/HsqlProperties;
	at org.hsqldb.jdbc.JDBCDriver.getConnection(Unknown Source)
	at org.hsqldb.jdbc.JDBCDriver.connect(Unknown Source)
	at java.sql.DriverManager.getConnection(DriverManager.java:582)
	at java.sql.DriverManager.getConnection(DriverManager.java:154)
	at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:133)
	at org.hibernate.tool.hbm2ddl.ManagedProviderConnectionHelper.prepare(ManagedProviderConnectionHelper.java:52)
	at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:252)
	at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:211)
	at br.com.homeworks.util.GeraBanco.main(GeraBanco.java:14)

6 Respostas

Guevara

Pq não usa o arquivo hibernate-properties ao invés do xml?

hibernate.dialect org.hibernate.dialect.MySQLDialect
hibernate.dialect org.hibernate.dialect.MySQLInnoDBDialect
hibernate.dialect org.hibernate.dialect.MySQLMyISAMDialect
hibernate.connection.driver_class com.mysql.jdbc.Driver
hibernate.connection.url jdbc:mysql:///test
hibernate.connection.username gavin
hibernate.connection.password

Abraço!

V

estou com o mesmo problema...

como troco o xml pelo hibernate-properties?
ou posso usar os dois ao mesmo tempo? como faco pode dar algum exemplo?

e pq desse jeito nao esta funcionando? tem algum jeito de arrumar?

<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
		<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/homeworks</property>
		<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
		
		<property name="hibernate.connection.username">root</property>
		<property name="hibernate.connection.password">senha</property>
		
		
		<property name="hibernate.show_sql">true</property>
		<property name="hibernate.format_sql">true</property>
		<property name="hibernate.hbm2ddl.auto">update</property>
		<property name="transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>

segue o erro:

Exception in thread "main" java.lang.NoSuchMethodError: org.hsqldb.DatabaseURL.parseURL(Ljava/lang/String;ZZ)Lorg/hsqldb/persist/HsqlProperties;
	at org.hsqldb.jdbc.JDBCDriver.getConnection(Unknown Source)
	at org.hsqldb.jdbc.JDBCDriver.connect(Unknown Source)
	at java.sql.DriverManager.getConnection(DriverManager.java:582)
	at java.sql.DriverManager.getConnection(DriverManager.java:154)
	at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:133)
	at org.hibernate.tool.hbm2ddl.ManagedProviderConnectionHelper.prepare(ManagedProviderConnectionHelper.java:52)
	at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:252)
	at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:211)
	at br.com.homeworks.util.GeraBanco.main(GeraBanco.java:14)
Guevara

É só pegar o arquivo hibernate-properties dentro da pasta do Hibernate e jogar dentro da pasta /src do seu projeto.
O caminho pra achar o arquivo dentro do Hibernate é este:

Hibernate/hibernate-entitymanager-3.4.0.GA/test-resources

Descomenta as linhas do Mysql e configura e descomenta tb estas duas linhas:

hibernate.show_sql true

hibernate.format_sql true
Guevara

Outra coisa que vai te ajudar é vc criar uma classe gera tabela chamada GeraTabela, primeiro crie o banco vazio no MySQL, depois cria a classe:

Eu a coloquei no pacote hibernate, seguindo este caminho br.com.jmovie.hibernate, vc pode criar uma pasta hibernate pra ela lá na /src.

//imports
public class GeraTabela {
	
	public static void main(String[] args) {
	    // Cria o banco de dados com as classes anotadas
	    AnnotationConfiguration cfg = new AnnotationConfiguration();
	    cfg.addAnnotatedClass(Filme.class);
	    cfg.addAnnotatedClass(Imagem.class);
	    cfg.addAnnotatedClass(Usuario.class);
	    SchemaExport se = new SchemaExport(cfg);
	    se.create(true, true);
	}
}

Repare que tenho três classes anotadas, Filme, Imagem e Usuario, é só colocar as classes anotadas na classe GeraTabela e mandar rodar essa classe como “run as / java application” clicando com o direito em cima dela. Se a configuração do banco estiver correta, vai conectar e criar as tabelas pra vc.

G

e como faz pra faze com xml?

LPJava

veja como fazer com xml: http://blog.camilolopes.com.br/java-basico-hibernate-jpa-mysql/ mais facil que tirar leite de vaca :smiley:

com properties acho mais trabalhoso e chato.

abracos,

Criado 10 de abril de 2010
Ultima resposta 10 de abr. de 2010
Respostas 6
Participantes 4