Hibernate Warning

5 respostas
Kleber

PessoALL

Estou desenvolvendo uma aplicação com Hibernate e percebi que está ocorrendo 3 warning na minha aplicação.

São eles:

15:31:21,156 WARN SettingsFactory:51 - No dialect set - using GenericDialect: Dialect class not found: net.sf.hibernate.dialect.DB2400Dialect

15:31:30,859 WARN JDBCExceptionReporter:20 - SQL Warning: -99999, SQLState: 01H11

15:31:30,859 WARN JDBCExceptionReporter:28 - Extended dynamic support is not being used.

Por enquanto a aplicação está funcionando normalmente, mas estes warning estão me deixando preocupado…

Se alguém puder me ajudar eu agradeço.

5 Respostas

legionarioba

Você configurou seu HiberneteProperties ?

Vc precisa deixar configurados alguns parâmetros,como no exemplo:

hibernate.connection.driver_class=org.postgresql.Driver
hibernate.connection.url=jdbc:postgresql://meuHost/meuBanco
hibernate.connection.username=postgres
hibernate.connection.password=
hibernate.dialect=net.sf.hibernate.dialect.PostGreSqlDialect

Kleber

Silvio Luiz

Está tudo configurando corretamente.

1)hibernate.connection.driver_class=
2)hibernate.connection.url=
3)hibernate.connection.username=
4)hibernate.connection.password=
5)hibernate.dialect= net.sf.hibernate.dialect.DB2400Dialect

Dei uma pesquisada no google e percebi que se você colocar, a linha 5)hibernate.dialect= antes da linha 2)hibernate.connection.url= poderia ocorrer este problema, mas no seu caso isso não ocorre, está nesta exata ordem.

Tenho que notificar que estou usando o driver JTOpen para AS400 ou seja os parametrôs são os mesmo de quando me conecto usando JDBC puro.

Será que ele não está encontrado o dialect net.sf.hibernate.dialect.DB2400Dialect ?
Aonde eu vejo no hibernate, se ele possui esse dialect ?

Obrigado

legionarioba

Realmente a classe que usa esse dialect existe :
http://www.hibernate.org/hib_docs/api/net/sf/hibernate/dialect/DB2400Dialect.html

Dê uma investigada aqui:
Hibernate API

Pode sre que esteja faltando algum jar…procure pelo class dele :wink:

Kleber

Silvio Luiz

Estou usando o Eclipse e vi que se eu der um

import net.sf.hibernate.dialect.DB2400Dialect;

ele diz que a classe existe, inclusive abri o meu jar hibernate.jar e vi que no package net.sf.hibernate.dialect tem o DB2400Dialect.class.

O warning que está dando é:
10:26:57,546 WARN SettingsFactory:51 - No dialect set - using GenericDialect: Dialect class not found: net.sf.hibernate.dialect.DB2400Dialect

10:27:08,000 WARN JDBCExceptionReporter:20 - SQL Warning: -99999, SQLState: 01H11
10:27:08,000 WARN JDBCExceptionReporter:28 - Extended dynamic support is not being used.

Bom se a classe está, o que será que pode ser ?

meu hibernate.properties está assim:

hibernate.dialect=net.sf.hibernate.dialect.DB2400Dialect
hibernate.connection.driver_class=com.ibm.as400.access.AS400JDBCDriver
hibernate.connection.username=
hibernate.connection.password=
hibernate.connection.url=jdbc:as400://servidor/lib;translate binary=true;extended dynamic=true;

Obrigado

tchernomirdin

Oi, tudo bom pessoal estou aprendendo hibernate não faz muito tempo e estou com algumas dificuldades em relação ao mapeamento many-to-many. Peguei um exemplo de uma apostila mas não estou conseguindo, quando eu arrumo um erro aparece uns quinze. Ollhai o código.

view plaincopy to clipboardprint?

"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
.














class="beans.departamento"/>


Lá vai o outro mapeamento.

view plaincopy to clipboardprint?

<?xml version="1.0"?>  
 <!DOCTYPE hibernate-mapping PUBLIC  
  "-//Hibernate/Hibernate Mapping DTD 3.0//EN"  
   "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">  
  
 <hibernate-mapping>  
    <class name="beans.departamento"  
         table="departamento" column="id_departamento" type="int">  
           
         <id name="id_departamento" >  
          
        <generator class="increment"/>         
           
         </id>  
         <property name="nome"/>  
         <property name="sigla"/>  
           
        <!-- Mapeamento dos cursos -->  
        <set name="curso" table="departamento_curso"  
              inverse="true">  
             <key column="id_departamento"/>  
              <many-to-many column="id_curso"  
                     class="beans.curso"/>  
        </set>  
     </class>  


 </hibernate-mapping>  
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="beans.departamento" table="departamento" column="id_departamento" type="int"> <id name="id_departamento" > <generator class="increment"/> </id> <property name="nome"/> <property name="sigla"/> <!-- Mapeamento dos cursos --> <set name="curso" table="departamento_curso" inverse="true"> <key column="id_departamento"/> <many-to-many column="id_curso" class="beans.curso"/> </set> </class> </hibernate-mapping> [code] <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="beans.departamento" table="departamento" column="id_departamento" type="int"> <id name="id_departamento" > <generator class="increment"/> </id> <property name="nome"/> <property name="sigla"/> <!-- Mapeamento dos cursos --> <set name="curso" table="departamento_curso" inverse="true"> <key column="id_departamento"/> <many-to-many column="id_curso" class="beans.curso"/> </set> </class> </hibernate-mapping>



Pessoal, eu não sei se está certa a minha classe teste,  que estou usando increment para gerar a chave primária, e se estiver errado como seria a maneira certa. Olha a minha classe teste.
view plaincopy to clipboardprint?

 package teste;  
   
 import java.io.FileInputStream;  
 import java.io.FileNotFoundException;  
 import java.io.IOException;  
 import java.util.Properties;  
 import org.hibernate.Session;  
import org.hibernate.SessionFactory;  
 import org.hibernate.Transaction;  
 import org.hibernate.cfg.Configuration;  
 import persistence.PersistenceConstants;  
 import beans.curso;  
 import beans.departamento;  
 //import beans.departamento_curso;  
  
   
   
 public class TesteCurso {  
   
     /** 
      * @param args 
      */  
    public static void main(String[] args) {  
         // TODO Auto-generated method stub  
           
         departamento departamento = new departamento();  
   
         departamento.setId_departamento(1);  
         departamento.setNome("Thiago");  
         departamento.setCentro("UFRA");  
           
         curso curso = new curso();  
         curso.setId_curso(172);  
         curso.setCodigo(1);  
         curso.setNome("joão");  
         curso.setSigla("vto");  
           
        /* 
         departamento_curso x = new departamento_curso(); 
         x.getId_curso(); 
         x.getId_departamento(); 
         */  
   
           
         Configuration configuration = new Configuration();//.addClass(Login.class);  
         Properties mainProperties = new Properties();  
         FileInputStream fileInputStream;  
         try {  
             fileInputStream = new FileInputStream( PersistenceConstants.HIBERNATE_PROPERTIES );  
               
             mainProperties.load( fileInputStream );  
               
             configuration.addInputStream( new FileInputStream( PersistenceConstants.CURSO_BEAN_MAPPING ) );  
.             configuration.addInputStream( new FileInputStream( PersistenceConstants.DEPARTAMENTO_BEAN_MAPPING) );  
           
         } catch (FileNotFoundException e) {  
.             // TODO Auto-generated catch block  
             e.printStackTrace();  
         } catch (IOException e) {  
             // TODO Auto-generated catch block  
            e.printStackTrace();  
        }  
           
        configuration.setProperties( mainProperties );  
                   
       SessionFactory sf = configuration.buildSessionFactory();  
         
      Session sess = sf.openSession();  
       
     Transaction t = sess.beginTransaction();  
     sess.save(departamento);  
      t.commit();  
      sess.close();  
           
     }  
 }  

package teste; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Properties; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import persistence.PersistenceConstants; import beans.curso; import beans.departamento; //import beans.departamento_curso; public class TesteCurso { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub departamento departamento = new departamento(); departamento.setId_departamento(1); departamento.setNome("Thiago"); departamento.setCentro("UFRA"); curso curso = new curso(); curso.setId_curso(172); curso.setCodigo(1); curso.setNome("joão"); curso.setSigla("vto"); /* departamento_curso x = new departamento_curso(); x.getId_curso(); x.getId_departamento(); */ Configuration configuration = new Configuration();//.addClass(Login.class); Properties mainProperties = new Properties(); FileInputStream fileInputStream; try { fileInputStream = new FileInputStream( PersistenceConstants.HIBERNATE_PROPERTIES ); mainProperties.load( fileInputStream ); configuration.addInputStream( new FileInputStream( PersistenceConstants.CURSO_BEAN_MAPPING ) ); configuration.addInputStream( new FileInputStream( PersistenceConstants.DEPARTAMENTO_BEAN_MAPPING) ); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } configuration.setProperties( mainProperties ); SessionFactory sf = configuration.buildSessionFactory(); Session sess = sf.openSession(); Transaction t = sess.beginTransaction(); sess.save(departamento); t.commit(); sess.close(); } }



E essa é minha persistence

view plaincopy to clipboardprint?

 /* Created at 21/10/2005 */  
   
 package persistence;  
 import java.io.File;  
   
 public class PersistenceConstants {  

   /** The path to configuration directory files */  
  private static final String CONF_DIR = "dbConf";  
    
   /** The path to object relational mapping directory files */  
  private static final String ORM_DIR = "dbOrm";  
   
  /** The default file separator */  
  private static final String SEP = File.separator;  
    
   public static final String HIBERNATE_PROPERTIES = CONF_DIR + SEP + "hibernate.properties";  
   
    public static final String CURSO_BEAN_MAPPING = ORM_DIR + SEP + "curso.hbm.xml";  
    
  public static final String DEPARTAMENTO_BEAN_MAPPING = ORM_DIR + SEP + "departamento.hbm.xml";  
  
 }  

/* Created at 21/10/2005 */ package persistence; import java.io.File; public class PersistenceConstants { /** The path to configuration directory files */ private static final String CONF_DIR = "dbConf"; /** The path to object relational mapping directory files */ private static final String ORM_DIR = "dbOrm"; /** The default file separator */ private static final String SEP = File.separator; public static final String HIBERNATE_PROPERTIES = CONF_DIR + SEP + "hibernate.properties"; public static final String CURSO_BEAN_MAPPING = ORM_DIR + SEP + "curso.hbm.xml"; public static final String DEPARTAMENTO_BEAN_MAPPING = ORM_DIR + SEP + "departamento.hbm.xml"; }


Estou usando o SGBD postgres 8.3, a linguagem SQL das tabelas que estou tentando fazer o mapeamento são.
[code]
CREATE TABLE departamento (
id_departamento int,
nome varchar,
sigla varchar,
id_curso int REFERENCES curso,
PRIMARY KEY (id_departamento)
);


CREATE TABLE curso (
id_curso int,
codigo int,
nome varchar,
sigla var,
id int REFERENCES aluno,
PRIMARY KEY (id_curso)
);

Valeu pessoal.

Criado 21 de janeiro de 2005
Ultima resposta 30 de abr. de 2008
Respostas 5
Participantes 3