2013-01-24 11 views
8

stiamo integrando il java blazed hibernate con il progetto flex ... In primo luogo abbiamo testato il puro java hibernate in eclipse e si sta eseguendo bene. Ma quando mettiamo lo stesso in tomcat per l'integrazione della flessione con i blazed, mostra il seguente errore. Questo è l'unico errore.hibernate properties non trovato

Jan 24, 2013 11:31:31 AM org.hibernate.cfg.Environment <clinit> 
INFO: Hibernate 3.2.6 
Jan 24, 2013 11:31:31 AM org.hibernate.cfg.Environment <clinit> 
INFO: hibernate.properties not found 
Jan 24, 2013 11:31:31 AM org.hibernate.cfg.Environment buildBytecodeProvider 
INFO: Bytecode provider name : cglib 
Jan 24, 2013 11:31:31 AM org.hibernate.cfg.Environment <clinit> 
INFO: using JDK 1.4 java.sql.Timestamp handling 
Jan 24, 2013 11:31:31 AM org.hibernate.cfg.Configuration configure 
INFO: configuring from resource: /hibernate.cfg.xml 
Jan 24, 2013 11:31:31 AM org.hibernate.cfg.Configuration getConfigurationInputSt 
ream 
INFO: Configuration resource: /hibernate.cfg.xml 

questo è il hibernate.cfg.xml (Per identificare se hibernate.cfg.xml non viene trovato e ho testato eliminando DOCTYPE di .cfg.xml poi uscita tomcat espressa dicendo l'elemento principale non viene trovato. ..che significa che è in grado di trovare il hibernate.cfg.xml (credo)

<?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="connection.url">jdbc:mysql://localhost/test</property> 
     <property name="connection.username">root</property> 
     <property name="connection.password">root</property> 
     <property name="connection.driver_class">com.mysql.jdbc.Driver</property> 
     <property name="dialect">org.hibernate.dialect.MySQLDialect</property> 

     <property name="show_sql">true</property> 

     <property name="format_sql">true</property> 

     <!-- JDBC connection pool (use the built-in) --> 
     <property name="connection.pool_size">1</property> 

     <property name="current_session_context_class">thread</property> 
     <mapping class="com.model.User" /> 
     <mapping class="com.model.UserDetails" /> 
     <mapping class="com.model.LoanDetails" /> 
     <mapping class="com.model.BorrowerDetails" /> 

    </session-factory> 
</hibernate-configuration> 

questo è hiberutil.java

public class HibernateUtil 
{ 



    private static SessionFactory sessionFactory=configureSessionFactory(); 
    private static ServiceRegistry serviceRegistry; 


    private static SessionFactory configureSessionFactory() throws HibernateException { 
     Configuration configuration = new Configuration(); 
     configuration.configure(); 
     serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();   
     sessionFactory = configuration.buildSessionFactory(serviceRegistry); 
     return sessionFactory; 
    } 
    public static SessionFactory getSessionFactory() 
    { 
     return sessionFactory; 
    } 
} 

il motivo per cui l'errore sta mostrando? il controllo viene da flex lato ed esecuzione il punto di partenza del metodo java ... ma quando si tratta di eseguire l'ibernazione della roba, mostra questo errore in tomcat ...

Ma quando eseguo java + hibernate come un'applicazione java pura, sta eseguendo bene.

qualcuno può aiutarmi?

Grazie

EDIT 1 Dopo la modifica suggerita da @Andremoniy e mettendo il .cfg.xml nella cartella src e qui anche in Eclipse si sta lavorando, ma non in Tomcat con flex

seguente errore viene

org.hibernate.MappingException: An AnnotationConfiguration instance is required 
to use <mapping class="com.model.User"/> 
     at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.jav 
a:1606) 
     at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.jav 
a:1561) 
     at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1540) 
     at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1514) 
     at org.hibernate.cfg.Configuration.configure(Configuration.java:1434) 
     at org.hibernate.cfg.Configuration.configure(Configuration.java:1420) 
     at com.sample.HibernateUtil.configureSessionFactory(HibernateUtil 
.java:26) 
     at com.sample.HibernateUtil.<clinit>(HibernateUtil.java:20) 
     at com.sample.App.checkUser(App.java:34) 
+1

Ciao, qual è l'errore nella tua domanda iniziale? Nello stack incollato, posso vedere solo 'hibernate.properties not found', che non è un errore. –

+0

Nella mia domanda originale l'esecuzione si interrompe stampando lo stack che ho incollato e quindi nessuna esecuzione di query e nessun output..it termina in questo modo ... ho messo lo show_sql per essere vero ma non è stato stampato .. –

+0

Hai controllato la connessione al tuo database? –

risposta

1

Immagino che il problema con il codice per la configurazione menzionato per .hbm.xml potrebbe non funzionare in Tomcat.

Penso che sia necessario AnnotationConfiguration oggetto. Immagino che tu abbia usato questo codice a causa della creazione dell'oggetto Annotationconfiguration non funzionante.

È possibile creare un progetto di ibernazione avanzato con pom ed esportare il file war in Tomcat (con le modifiche Annotationconfiguration). Usa anche log4j jar per mostrare i dettagli dell'esecuzione di Tomcat con gli output di debug, in modo che l'output di Tomcat stampi tutto il flusso di esecuzione.

1

mi sembra, che si può risolvere questo problema, passando hibernate.cfg.xml direttamente in Configuration.

try (InputStream in = HibernateUtil.class.getResourceAsStream("/hibernate.cfg.xml")) { 
    Configuration configuration = new Configuration().addInputStream(in).configure(); 
... 
} ... 

L'unica cosa, è necessario puntare correttamente il percorso o di classe, per getResourceAsStream. Oppure potresti voler creare InputStream usando un percorso relativo.

+0

grazie. hibernate, ma il getClass() sta indicando l'errore –

+0

In realtà sì, questo era un esempio comune. L'ho modificato in 'HibernateUtil.class', ma in effetti ciò dipende da ** dove ** il tuo' hibernate.cfg.xml' Si trova nel pacchetto in cui è posizionato 'HibernateUtil.java' – Andremoniy

+0

@SamprityKashyap Dove hai inserito il file' hibernate.cfg.xml'? – Andremoniy

0

se è apparso utilizzare IntelliJ IDEA è necessario mettere hibernate.cfg.xml file in risorse cartella

ads

an d se si avrà dopo la prossima errore: org.hibernate.service.jndi.JndiException: Errore di analisi nome JNDI []

eliminare nel nome del file hibernate.cfg.xml di tag vedi foto:

enter image description here