Project View After Completion
Hibernate Environment Setting
Right click over project on Project Explorer and goto properties->Java Build Path->Libraries
Add Required Hibernate jars, JRE system Library, Apache Tomcat server by click on Add Library and Add External Jar ojdbc14.jar by click on Add External Jars.
For Details Read How to set Hibernate Environment
Student.java
This is pojo class where we are using @OneToMany annotation for one to Many mapping between Student and Books class.
Books.java
ExeMain.java
It is working as Persistent class for Hibernate and the same java class we are using to store object of Student and Books class using Hibernate Framework.
hibernate.cfg.xml
This is a file that contains information about Oracle database(or any other database you want to use) Driver and connection information and mapping class information.
Download Code Link 1
Download Code Link 2
To Run this Project Right Click inside ExeMain.java, select Run As -> Java Application
In output you can see default tablename and column names in MyStudent_Books is MyStudent_id, books_bookid and if you want to override this default names then you can use @JoinTable,@JoinColumn Annotations.
Output:
Hibernate Environment Setting
Right click over project on Project Explorer and goto properties->Java Build Path->Libraries
Add Required Hibernate jars, JRE system Library, Apache Tomcat server by click on Add Library and Add External Jar ojdbc14.jar by click on Add External Jars.
For Details Read How to set Hibernate Environment
Student.java
This is pojo class where we are using @OneToMany annotation for one to Many mapping between Student and Books class.
package blog.webideaworld.in;
import java.util.ArrayList;
import java.util.Collection;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
@Entity
@Table(name="MyStudent")
public class Student {
@Id
@GeneratedValue
private int id;
private String name;
private int rollno;
@OneToMany
private Collection<Books> books=new ArrayList<Books>();
public Collection<Books> getBooks() {
return books;
}
public void setBooks(Collection<Books> books) {
this.books = books;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getRollno() {
return rollno;
}
public void setRollno(int rollno) {
this.rollno = rollno;
}
}
Books.java
package blog.webideaworld.in;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
public class Books {
@Id
@GeneratedValue
private int bookid;
private String bookname;
public int getBookid() {
return bookid;
}
public void setBookid(int bookid) {
this.bookid = bookid;
}
public String getBookname() {
return bookname;
}
public void setBookname(String bookname) {
this.bookname = bookname;
}
}
ExeMain.java
It is working as Persistent class for Hibernate and the same java class we are using to store object of Student and Books class using Hibernate Framework.
package blog.webideaworld.in;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class ExeMain {
public static void main(String args[]){
Student st =new Student();
st.setName("Suresh");
st.setRollno(44);
Books bk1=new Books();
bk1.setBookname("Let us C");
Books bk2=new Books();
bk2.setBookname("Let us C++");
st.getBooks().add(bk1);
st.getBooks().add(bk2);
@SuppressWarnings("deprecation")
SessionFactory sessionFactory =new Configuration().configure("hibernate.cfg.xml").buildSessionFactory();
Session session=sessionFactory.openSession();
session.beginTransaction();
session.save(st);
session.save(bk1);
session.save(bk2);
session.getTransaction().commit();
}
}
hibernate.cfg.xml
This is a file that contains information about Oracle database(or any other database you want to use) Driver and connection information and mapping class information.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.OracleDialect</property>
<property name="hibernate.connection.driver_class">oracle.jdbc.OracleDriver</property>
<property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:xe</property>
<property name="hibernate.connection.username">hr</property>
<property name="hibernate.connection.password">hr</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.hbm2ddl.auto">create</property>
<mapping class="blog.webideaworld.in.Student"/>
<mapping class="blog.webideaworld.in.Books"/>
</session-factory>
</hibernate-configuration>
Download Code Link 1
Download Code Link 2
To Run this Project Right Click inside ExeMain.java, select Run As -> Java Application
In output you can see default tablename and column names in MyStudent_Books is MyStudent_id, books_bookid and if you want to override this default names then you can use @JoinTable,@JoinColumn Annotations.
Output:
MyStudent Table
Books Table
MyStudent_Books
More Hibernate Topics :
- How to Set Hibernate Environment for Eclipse with Oracle 10g Express Edition
- Basic Hibernate Application with Annotations
- Basic Hibernate Application with hibernate mapping (hbm.xml) file
- Hibernate OneToOne Mapping with Annotations
- Hibernate one-to-one Mapping with Hibernate Mapping (hbm.xml) file
- Hibernate OneToMany Mapping with Annotations
- Hibernate one-to-many Mapping with Hibernate Mapping (hbm.xml) file
- Hibernate ManyToOne Mapping with Annotations
- Hibernate many-to-one Mapping with Hibernate Mapping (hbm.xml) file
- Hibernate mappedBy and ManyToMany Mapping with Annotations
- Hibernate many-to-many Mapping with Hibernate Mapping (hbm.xml) file
- Hibernate OneToMany Mapping with CascadeType and other Annotations
No comments:
Post a Comment