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 <generator> to generate id (primary key)

    The optional <generator> child element names a Java class used to generate unique identifiers for instances of the persistent class
    increment generates identifiers of type long, short or int that are unique only when no other process is inserting data into the same table. Do not use in a cluster. Follow the setps :

    Step 1. create a table name EMPLOYEE in your database

    // for MySQL
    create table EMPLOYEE (
    id bigint(20) ,
    name varchar
    );
    // FOR ORACLE
    create table EMPLOYEE (
    id number;
    name varchar
    );

    Step 2. Create Emp.java bean class.

    Hibernate uses the Plain Old Java Objects (POJOs) classes to map to the database table (Emp.java to EMPLOYEE TABLE). We can configure the variables to map to the database column.

    public class Emp {
    private long id;
    private String name;
    public long getId() {
    return id;
    }
    private void setId(long id) {
    this.id = id;
    }
    public String getName() {
    return name;
    }
    public void setName(String name) {
    this.name = name;
    }
    }


    Step 3. Emp.hbm.xml - This mapps EMPLOYEE TABLE and Emp.java : increment for the generator class

    <?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="Emp" table="EMPLOYEE">
    <id name="id" column="id" type="long">
    <generator class="increment"/> // This generates the primary key
    </id>
    <property name="name" column="name"/>
    </class>
    </hibernate-mapping>

    Step 4. add Emp.hbm.xml into hibernate.cfg.xml

    Hibernate provided connection pooling usning c3p0 and transaction management . Hibernate uses the hibernate.cfg.xml to create the connection pool and setup required environment

    <?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="Emp.hbm.xml"/>
    </session-factory>
    </hibernate-configuration>

    Step 5. hibernate automatically increment id using generator

    Hibernate Session is the main runtime interface for Hibernate which is used for DataBase operataion. Session has the method like save () , update () , creteQuery() for Data Base operation. You can get session using SessionFactory.openSession() method. SessionFactory allows application to create the Hibernate Sesssion by reading the configuration from hibernate.cfg.xml file. Then the save () method on session object is used to save the contact information to the database.

    public class TestExample {
    public static void main(String[] args) {
    Session session = null;
    try{ // This step will read hibernate.cfg.xml
    SessionFactory sessionFactory = new
    Configuration().configure().buildSessionFactory();
    session =sessionFactory.openSession();
    System.out.println("Inserting Records");
    Emp emp1 = new Emp();
    emp1.setName("Nick");
    session.save(emp1); // We are Not adding id , hibernate automatically increment the value
    Emp emp2 = new Emp();
    emp2.setName("Das");
    session.save(emp2); // We are Not adding id , hibernate automatically increment the value
    session.flush(); // insert data into databse
    System.out.println("Save Done- finish database insert");
    // Now fetch the Employee data
    List empList = session.createQuery("from Emp").list();
    //empList contains the list of Employee
    for(int i=0;i Emp emp = (Emp)empList.get(i);
    System.out.println(emp.getId());
    System.out.println(emp.getName());
    }
    // Out put is : 1 Nick 2 Das
    }catch(Exception e){
    }finally{
    session.close();
    }
    }
    }


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