Are You Recruiter/Hiring Manager?
Cloud-based Candidate Screening | Online Tests
PMP 1600 Questions
PMP 1600 Questions
1600 PMP mock questions 1400 CAPM mock questions 800 SCJP 6 mock questions 600 OCAJP 7 mock questions 590 OCPJP 7 mock questions 556 SCWCD 5 mock questions 500 OCEJWCD 6 mock questions pdfDownload (java,struts, hibernet etc)

Tutorial Home

Hibernate

  • Advantage of Hibernate over JDBC
  • Hibernate Setup with an web Application
  • First Hibernate Application
  • Hibernate mapping with Database TABLE
  • Hibernate Data Type-Java Data Type - SQL Data Type mapping
  • One to Many Relation in Hibernate
  • One to Many Relation in Hibernate bi-directional
  • Many to Many Relation in Hibernate
  • HQL: The Hibernate Query Language
  • Criteria Queries
  • Criteria Queries : Equal (eq), Not Equal(ne), Less than (le), greater than (gt),greater than or equal(ge) and Ordering the results
  • Criteria Queries: And OR conditions
  • Hibernate generator to generate id (primary key)
  • prevent concurrent update in Hibernate,slate object updatation in Hibernate,version checking in Hibernate

    Struts


  • Model View Controller (MVC)
  • Model View Controller (MVC)
  • Struts Flow-How Struts Works?
  • Struts Tutorial - Struts Setup- First Struts Action class setup
  • Message Resources
  • Validation Framework
  • Validation Framework-client side
  • ForwardAction
  • IncludeAction
  • DispatchAction
  • LookupDispatchAction
  • DynaActionForm
  • DynaActionForm
  • Struts Tutorial - Mutli-click prevention using struts tokens-Prevent Duplicate Submission
  • Logic Iterate Map and List

    JSP


  • JSP Tutorial
  • Introduction to JSP
  • JSP Comments
  • JSP Syntax
  • JSP Scripting Elements :Scriptlet, expression, declaration
  • JSP Directives
  • implicit objects in JSP
  • JSP Actions
  • Introduction to JSP
  • jsp:useBean
  • The jsp:setProperty Action
  • The jsp:getProperty Action
  • Introduction to JSP

    Spring


  • Spring Tutorial
  • Introduction to Spring
  • Benefits of Using Spring Framework
  • Inversion of Control in Spring
  • Introduction to BeanFactory
  • Dependency Injection in Spring
  • Collections Setter Injection
  • Bean Scopes in Spring
  • Spring IOC Setup Step by Step
  • Bean Lifecycle in Spring
  • ApplicationContext
  • MessageSources in Spring
  • Web Spring MVC framework
  • Developing Your First Spring Web Application
  • Developing Your Second Spring Web Application with Spring Form
  • Developing Your First Spring Web Application with Spring Validation Framework with Code Example
  • Spring integration with Hibernate
  • Hibernate Tutorial Step by Step -- Code Examples

    Hibernate Setup with an web Application

    Follow the steps to setup Hibernate.

    Step 1. Create folders like below.

    testApp    
         |    
    ----src     // Java Source Code folder
                  |    
    -------------beans //Source Code folder   
                     |    
    ----------------Offer.java //Source Code    
    -------------servlet //Source Code folder   
                     |    
    ----------------DBStartUpServlet.java //Source Code    
    -------------dao //Source Code folder   
                     |    
    ----------------HibernateUtil.java //Source Code    
    ----config     // config folder where all the configuration files present
                  |    
    -------------hibernate.cfg.xml //Hibernate Config file   
    -------------Offer.hbm.xml// hibernate mapping with Offer TABLE    
    -------------log4j.properties// log4j setting    
    ----WEB-INF //within folder    
              |    
    ---------web.xml //file   
    ---------classes //folder   
    ---------lib //within folder   
                  |    
    -------------hibernate3.jar //jar file   
    -------------antlr-2.7.6rc1.jar //jar file   
    -------------asm.jar //jar file   
    -------------asm-attrs.jar //jar file   
    -------------c3p0-0.9.0.jar //jar file for connection pool   
    -------------classes12.jar //if you use ORACLE DATABASE jar file   
    -------------mysql-connector-java-5.0.4-bin.jar //if you use MySQL DATABASE jar file   
    -------------commons-logging.jar //jar file   
    -------------commons-validator.jar //jar file   
    -------------dom4j-1.6.1.jar //jar file   
    -------------jta.jar //jar file   
    -------------log4j-1.2.11.jar //jar file   
    -------------nls_charset12.jar //jar file   

    Step 2. Add DBStartUpServlet Entry into the web.xml file

    This servlet is only for load configuration files related to Hibernate and create Session Factory on start up .
    Create Session Factory is very Expensive
    Create Session Factory is very Expensive so we added one servlet to create on server startup
    Initialize Connection pool on startup
    Initialize Connection pool on startup using c3p0.
    Initialize log4j configuration
    Initialize log4j configuration on startup.

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
    <display-name>Hibernate</display-name>
    <description>
    Hibernate Setup </description>
    <servlet>
    <servlet-name>
    DBStartUpServlet
    </servlet-name>
    <servlet-class>
    servlet.DBStartUpServlet
    </servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet>
    </web-app>

    Step 3. DBStartUpServlet Code

    package servlet;
    public class DBStartUpServlet extends HttpServlet {
    /** Initialising the Logger */
    protected static final Logger logger=Logger.getLogger(DBStartUpServlet.class);
    public void init(ServletConfig config) throws ServletException {
    System.out.println("\n**** Initializing Hibernate Init Servlet ********** \n");
    super.init(config);


    //This is for local properties.
    String cfgDir = "D:\\testApp\\config";
    logger.info("config dir:"+cfgDir);
    initLogPro(cfgDir);
    try{
    HibernateUtil.appHome = cfgDir;
    HibernateUtil.initMonitor();
    }catch(Exception e){
    e.printStackTrace();
    }


    }

    /** Handles the requests from http client.
    * @param request servlet request
    * @param response servlet response
    */
    protected void service(HttpServletRequest request,HttpServletResponse response)
    throws ServletException, java.io.IOException {
    }


    private void initLogPro(String path){
    try{
    PropertyConfigurator.configure(path+File.separatorChar+"log4j.properties");
    }catch(Exception ex){
    System.out.println("Log4J can not be initialized");
    logger.info("Log4J can not be initialized");


    }
    }


    }

    Step 4. HibernateUtil.java code

    package dao;
    public class HibernateUtil {
    public static String appHome = "No";
    private static SessionFactory sessionFactory;
    private static final ThreadLocal threadSession = new ThreadLocal();
    private static final ThreadLocal threadTransaction = new ThreadLocal();

    // Create the initial SessionFactory from the default configuration files
    public static void configure(){
    try {
    String path_properties = appHome+File.separatorChar+"hibernate.cfg.xml";
    Configuration configuration = new Configuration();
    configuration.addFile(path_properties);
    sessionFactory =configuration.configure().buildSessionFactory();

    } catch (Throwable ex) {

    throw new ExceptionInInitializerError(ex);
    }
    }
    public static SessionFactory getSessionFactory() {
    if(sessionFactory==null) configure();
    return sessionFactory;
    }

    public static Session getSession(){
    Session s = (Session) threadSession.get();
    // logger.debug("session"+s);
    if (s == null) {

    s = getSessionFactory().openSession();
    threadSession.set(s);
    // logger.debug("session 1 $"+s);
    }
    return s;
    }

    }

    Step 5. hibernate.cfg.xml for hibernate configuration (within config folder)

    <?xml version='1.0' encoding='utf-8'?>
    <lt;!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
    <hibernate-configuration>
    <session-factory>
    <!-- Database connection settings -->
    <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="connection.url">jdbc:mysql://localhost:3306/techfaqdb</property>
    <property name="connection.username">techfaq</property>
    <property name="connection.password">techfaq</property>
    <!-- JDBC connection pool (use the built-in) -->
    <property name="hibernate.c3p0.min_size">1</property>
    <property name="hibernate.c3p0.max_size">4</property>
    <property name="hibernate.c3p0.timeout">1800</property>
    <property name="hibernate.c3p0.max_statements">50</property>
    <!-- MySQL dialect//different for different Database -->
    <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
    <!-- Enable Hibernate's automatic session context management -->
    <property name="current_session_context_class">thread</property>
    <!-- Disable the second-level cache -->
    <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
    <!-- Echo all executed SQL to stdout -->
    <property name="show_sql">true</property>
    <property name="hbm2ddl.auto">update</property>
    <mapping resource="Offer.hbm.xml"/>
    </session-factory>
    </hibernate-configuration>

    Step 6. Offer.java bean class.(within beans folder)

    package beans;
    public class Offer {
    private long offerId;
    private String offerName;
    /**
    * @return Returns the offerId.
    */ public long getOfferId() {
    return offerId;
    }
    /**
    * @param offerId The offerId to set.
    */
    private void setOfferId(long offerId) {
    this.offerId = offerId;
    }
    /** * @return Returns the offerName.
    */
    public String getOfferName() {
    return offerName;
    }
    /**
    * @param offerName The offerName to set.
    */
    public void setOfferName(String offerName) {
    this.offerName = offerName;
    }
    }


    Step 7. Offer.java and OFFER TABLE mapping in Offer.hbm.xml

    <?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.Offer" table="OFFER">
    <id name="offerId" column="offer_id" type="long">
    <generator class="increment"/> // This generates the primary key
    </id>
    <property name="offerName" column="offer_name"/>
    </class>
    </hibernate-mapping>

    Step 8. OFFER TABLE in your database

    create table OFFER ( offer_id number; offer_name varchar );

    Then start the server. Your SessionFactory is ready to serve.
    You can call HibernateUtil.getSession() to get session object and do your coding.

    The information you are posting should be related to java and ORACLE technology. Not political.