-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 posts ] 
Author Message
 Post subject: Hibernate mysql und initiale SQL-Requests
PostPosted: Fri Jan 14, 2011 6:26 am 
Newbie

Joined: Fri Jan 14, 2011 5:28 am
Posts: 3
Hi,

ich bin neu sowohl in Hibernate als auch in Java, aber ich komme ganz gut klar, glaube ich :) Ich komme von PHP und da läuft der Hause in vielerlei Hinsicht anders, daher tue ich mich etwas schwer..

Ich habe eine Frage (Nicht schlagen - Es ist mein erstes Mal ;)):

Ich habe eine Webapp, die auf Tomcat läuft und hole mir immer mit dieser Konstruktion eine Session pro Thread:

Code:
public class HibernateUtil
{
   public static Date date = new Date();
   
   private static ThreadLocal<Session> session = new ThreadLocal<Session>();
   
   /**
    *
    * @return {@link Session}
    */
   public static Session get()
   {
      //System.out.println(Thread.currentThread().getName() + " - Ist session = null: " + (session.get() == null));
      //System.out.println(Thread.currentThread().getName() + " - Ist session offen: " + (session.get() != null ? session.get().isOpen() : false));
      if (session.get() == null || !session.get().isOpen()) {
         session.set(new Configuration().configure().buildSessionFactory().openSession());
      }
      return (Session)((session.get()));
   }
   
   public static Session getNewSession()
   {
      return new Configuration().configure().buildSessionFactory().openSession();
   }
   
   public static void close()
   {
      Session session = HibernateUtil.get();
      session.flush();
      session.close();
   }
   
   public static boolean isOpen()
   {
      return session.get() != null ? session.get().isOpen() : false;
   }
   
   public static int getIdentifier()
   {
      return HibernateUtil.get().hashCode();
   }
}


Ich hoffe, das ist erst mal richtig (Wie gesagt, es ist schwierig, von PHP auf Java umzudenken).

Allerdings wird jetzt bei jedem Seitenaufruf ein Rattenschwanz an SQL-Requests ausgeführt:
Code:
        194 Init DB   _test
        194 Query   SELECT 1
        194 Query   SET NAMES utf8
        194 Query   SET character_set_results = NULL
        194 Query   select round('inf'), round('-inf'), round('nan')
        194 Query   SHOW VARIABLES
        194 Query   SHOW COLLATION
        194 Query   SET autocommit=1
        194 Query   SET autocommit=0
        194 Query   commit
        194 Query   SET autocommit=1
        194 Query   SHOW TABLES  FROM `_test` LIKE 'mt_attribute'
        194 Query   SHOW TABLES  FROM `_test` LIKE 'mt_attribute'
        194 Query   SHOW COLUMNS FROM `mt_attribute` FROM `_test` LIKE '%'
        194 Query   SHOW CREATE TABLE `_test`.`mt_attribute`
        194 Query   SHOW INDEX FROM `mt_attribute` FROM `_test`
        194 Query   SHOW TABLES  FROM `_test` LIKE 'mt_attribute_option'
        194 Query   SHOW TABLES  FROM `_test` LIKE 'mt_attribute_option'
        194 Query   SHOW COLUMNS FROM `mt_attribute_option` FROM `_test` LIKE '%'
        194 Query   SHOW CREATE TABLE `_test`.`mt_attribute_option`
        194 Query   SHOW INDEX FROM `mt_attribute_option` FROM `_test`
        194 Query   SHOW TABLES  FROM `_test` LIKE 'mt_look'
        194 Query   SHOW TABLES  FROM `_test` LIKE 'mt_look'
        194 Query   SHOW COLUMNS FROM `mt_look` FROM `_test` LIKE '%'
        194 Query   SHOW CREATE TABLE `_test`.`mt_look`
        194 Query   SHOW INDEX FROM `mt_look` FROM `_test`
        194 Query   SHOW TABLES  FROM `_test` LIKE 'mt_look_product'
        194 Query   SHOW TABLES  FROM `_test` LIKE 'mt_look_product'
        194 Query   SHOW COLUMNS FROM `mt_look_product` FROM `_test` LIKE '%'
        194 Query   SHOW CREATE TABLE `_test`.`mt_look_product`
        194 Query   SHOW INDEX FROM `mt_look_product` FROM `_test`
        194 Query   SHOW TABLES  FROM `_test` LIKE 'mt_user'
        194 Query   SHOW TABLES  FROM `_test` LIKE 'mt_user'
        194 Query   SHOW COLUMNS FROM `mt_user` FROM `_test` LIKE '%'
        194 Query   SHOW CREATE TABLE `_test`.`mt_user`
        194 Query   SHOW INDEX FROM `mt_user` FROM `_test`
        194 Query   SET autocommit=0

Lässt sich das nicht vermeiden? Zur Info: Ich arbeite mit den Annotations.

Danke schon mal, falls mir wer hilft.


Top
 Profile  
 
 Post subject: Re: Hibernate mysql und initiale SQL-Requests
PostPosted: Wed Jan 19, 2011 6:57 am 
Newbie

Joined: Fri Jan 14, 2011 5:28 am
Posts: 3
Hat sich mir entfernen der "hibernate.hbm2ddl.auto"-Property erledigt.


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.