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

    One to Many : Uni-Directional Relation in Hibernate

    There are two table WRITER and STORY. One writer can write multiple stories. So the relation is one-to-many uni-directional.

    Step 1. create a table name WRITER and STORY in your database

    create table WRITER (
    ID number, //PRIMARY KEY
    NAME varchar
    );
    create table STORY (
    ID number,
    INFO varchar,
    PARENT_ID number // forign key - relate to ID Coulmn of WRITER.
    );

    Step 2. Mapping writer.hbm.xml- Which maps to WRITER TABLE.

    <?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="Writer" table="WRITER">
    <id name="id" column="ID" type="int" unsaved-value="0">
    <generator class="increment"/>
    </id>
    <bag name="stories" cascade="all">
    <key column="parent_id"/>
    <one-to-many class="Story"/>
    </bag>
    <property name="name" column="NAME" type="string"/>
    </class>
    </hibernate-mapping>

    Step 3. Mapping story.hbm.xml- Which maps to STORY TABLE.

    <?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="Story" table="story">
    <id name="id" column="ID" type="int" unsaved-value="0">
    <generator class="increment"/>
    </id>
    <property name="info" column="INFO" type="string"/>
    </class>
    </hibernate-mapping>

    Step 4. Create Writer.java bean class.

    public class Writer {
    private int id;
    private String name;
    private List stories;
    public void setId(int i) {
    id = i;
    }
    public int getId() {
    return id;
    }
    public void setName(String n) {
    name = n;
    }
    public String getName() {
    return name;
    }
    public void setStories(List l) {
    stories = l;
    }
    public List getStories() {
    return stories;
    }
    }

    Step 5. Create Story.java bean class.

    public class Story {
    private int id;
    private String info;
    public Story(){
    }
    public Story(String info) {
    this.info = info;
    }
    public void setId(int i) {
    id = i;
    }
    public int getId() {
    return id;
    }
    public void setInfo(String n) {
    info = n;
    }
    public String getInfo() {
    return info;
    }
    }

    Step 6. add writer.hbm.xml and story.hbm.xml into hibernate.cfg.xml

    <?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="story.hbm.xml"/>
    <mapping resource="writer.hbm.xml"/>
    </session-factory>
    </hibernate-configuration>

    Here is the code : how to save

    Save Example ..
    Writer wr = new Writer();
    wr.setName("Das");
    ArrayList list = new ArrayList();
    list.add(new Story("Story Name 1"));
    list.add(new Story("Story Name 2"));
    wr.setStories(list);
    Transaction transaction = null;
    try {
    transaction = session.beginTransaction();
    session.save(wr);
    transaction.commit();
    } catch (Exception e) {
    if (transaction != null) {
    transaction.rollback();
    throw e;
    }
    } finally {
    session.close();
    }

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