Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    52

    Hibernate "Non ci sto capendo molto"

    Ciao a tutti, ecco che mi presento con un nuovo problema :P.
    Ho configurato tutti i file di Hibernate e ho iniziato a creare la mia struttura. Prima di tutto mi sono creato la mia cara Home.

    Codice PHP:
        //Sarebbe la classe UtentiHome

        
    private static final SessionFactory sessionFactory;
        protected 
    Log logger LogFactory.getLog(this.getClass());

        static {

            try {
                
    sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
            } catch (
    Throwable ex) {
                
    System.err.println("Initial SessionFactory creation failed." ex);
                throw new 
    ExceptionInInitializerError(ex);
            }
        }

        public static 
    SessionFactory getSessionFactory() {
            return 
    sessionFactory;
        }

            
    /**
         *
         * @param utente
         * Metodo per creare un utente;
         */
        
    public void persist(Utenti utente) {
            
    logger.debug("Start persist utente");
            try {
                
    sessionFactory.getCurrentSession().persist(utente);
                
    logger.debug("End persist utente");
            }
            catch (
    RuntimeException error) {
                
    logger.error("persist failed"error);
                throw 
    error;
            }
        } 
    e poi mi sono creato la mia classe Business che estende Home.

    Codice PHP:
        public UtentiMapping login(String nicknameString password){
            
    logger.debug("Start login");
            
    Utenti utente = new Utenti();
            
    UtentiMapping u = new UtentiMapping();
            
    UtentiHome dao = new UtentiHome();
            
    Session session UtentiHome.getSessionFactory().openSession();
            
    Transaction tx null;
            try{
                
    tx session.beginTransaction();
                
    utente dao.login(nicknamepassword);
                
    //QUi dovrei fare il fill tra UtentiMapping e Utenti
                
    tx.commit();
                
    logger.debug("End login");
            }
            catch(
    RuntimeException error){
                
    logger.error("Error login: ",error);
            }
            return 
    u;
        } 
    Soltanto che mi dice :

    UtentiBusiness non può ereditare il metodo login. Se lo trasformo in Utenti piuttosto che UtentiMapping funziona. SOltanto che non vorrei farmi tornare l'oggetto Hibernate, ma un oggetto che mi sono creato io e mapparlo con ciò che mi faccio tornare dal DB

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    52
    SOno riuscito a farmi tornare un altro genere di eccezione :P

    La classe Home resta come nel codice che ho implementato. In più mi sono creato una classe Manager:
    Codice PHP:
    public class UtentiManager {

        protected 
    Log logger LogFactory.getLog(this.getClass());
        private static 
    UtentiManager instance;
        public static final 
    UtentiHome dao = new UtentiHome();

        
    /**
         *
         * @return
         */
        
    public static synchronized UtentiManager getInstance() {
            if (
    instance == null) {
                
    instance = new UtentiManager();
            }
            return 
    instance;
        }

        public 
    Utenti login(String nickname,String password){
            
    Utenti u null;
            try{
                
    dao.login(nicknamepassword);
            }
            catch(
    RuntimeException error){
                
    logger.error("Error login: ",error);
            }
            return 
    u;
        }

    e la classe Business l'ho modificata in:

    Codice PHP:
        public UtentiMapping login(String nickname,String password){
            
    UtentiMapping u = new UtentiMapping();
            
    Utenti uu = new Utenti();
            
    Transaction tx null;
            try{
                
    SessionFactory session UtentiManager.getInstance().dao.getSessionFactory();
                
    Session s session.getCurrentSession();
                
    tx s.beginTransaction();
                
    uu UtentiManager.getInstance().login(nicknamepassword);
                
    tx.commit();
            }
            catch(
    RuntimeException error){
                
    logger.error("Error: " ,error);
            }
            return 
    u;
        } 
    adesso l'eccezione è:

    Codice PHP:
    28-mag-2010 11.06.15 org.hibernate.cfg.SettingsFactory buildSettings
    INFO
    JPA-QL strict compliancedisabled
    28
    -mag-2010 11.06.15 org.hibernate.cfg.SettingsFactory buildSettings
    INFO
    Second-level cacheenabled
    28
    -mag-2010 11.06.15 org.hibernate.cfg.SettingsFactory buildSettings
    INFO
    Query cachedisabled
    28
    -mag-2010 11.06.15 org.hibernate.cfg.SettingsFactory createCacheProvider
    INFO
    Cache providerorg.hibernate.cache.NoCacheProvider
    28
    -mag-2010 11.06.15 org.hibernate.cfg.SettingsFactory buildSettings
    INFO
    Optimize cache for minimal putsdisabled
    28
    -mag-2010 11.06.15 org.hibernate.cfg.SettingsFactory buildSettings
    INFO
    Structured second-level cache entriesdisabled
    28
    -mag-2010 11.06.16 org.hibernate.cfg.SettingsFactory buildSettings
    INFO
    Statisticsdisabled
    28
    -mag-2010 11.06.16 org.hibernate.cfg.SettingsFactory buildSettings
    INFO
    Deleted entity synthetic identifier rollbackdisabled
    28
    -mag-2010 11.06.16 org.hibernate.cfg.SettingsFactory buildSettings
    INFO
    : Default entity-modepojo
    28
    -mag-2010 11.06.16 org.hibernate.cfg.SettingsFactory buildSettings
    INFO
    Named query checking enabled
    28
    -mag-2010 11.06.16 org.hibernate.impl.SessionFactoryImpl <init>
    INFObuilding session factory
    28
    -mag-2010 11.06.20 org.hibernate.impl.SessionFactoryObjectFactory addInstance
    INFO
    Not binding factory to JNDIno JNDI name configured
    28
    -mag-2010 11.06.45 business.UtentiBusiness login
    GRAVE
    Error
    org.hibernate.HibernateExceptionNo CurrentSessionContext configured!
            
    at org.hibernate.impl.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:542)
            
    at business.UtentiBusiness.login(UtentiBusiness.java:23)
            
    at action.utenti.Login.execute(Login.java:29)
            
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425)
            
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
            
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
            
    at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
            
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
            
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
            
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
            
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
            
    at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
            
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
            
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
            
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
            
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
            
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
            
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
            
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
            
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
            
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
            
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
            
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
            
    at java.lang.Thread.run(Thread.java:619

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.