1. Buat sebuah database di mySql dengan nama dbProperty, kemudian buat tiga (3) buah table dengan nama mproject,mcluster,munit.
CREATE TABLE `mproject` (
`ProjectID` INT(10) NOT NULL AUTO_INCREMENT,
`ProjectName` VARCHAR(50) NULL DEFAULT NULL,
`Description` VARCHAR(255) NULL DEFAULT NULL,
PRIMARY KEY (`ProjectID`)
)
CREATE TABLE `mcluster` (
`ClusterID` VARCHAR(50) NOT NULL,
`ProjectID` INT(10) NOT NULL,
`Floor` TINYINT(4) NOT NULL,
`Alias` VARCHAR(50) NULL DEFAULT NULL,
PRIMARY KEY (`ClusterID`, `ProjectID`, `Floor`),
INDEX `FK_mcluster_mproject` (`ProjectID`),
CONSTRAINT `FK_mcluster_mproject` FOREIGN KEY (`ProjectID`) REFERENCES `mproject` (`ProjectID`)
)
CREATE TABLE `munit` (
`ProjectID` INT(10) NOT NULL,
`ClusterID` VARCHAR(50) NOT NULL,
`Floor` TINYINT(4) NOT NULL,
`UnitID` INT(10) NOT NULL,
`TypeID` VARCHAR(10) NULL DEFAULT NULL,
`TypeName` VARCHAR(50) NULL DEFAULT NULL,
`PropertySize` VARCHAR(20) NULL DEFAULT NULL,
`LandSize` VARCHAR(20) NULL DEFAULT NULL,
`BedRoom` TINYINT(4) NULL DEFAULT NULL,
`Status` VARCHAR(50) NULL DEFAULT NULL,
`Available` BIT(1) NULL DEFAULT NULL,
PRIMARY KEY (`ProjectID`, `ClusterID`, `Floor`, `UnitID`),
INDEX `FK_munit_mcluster_2` (`ClusterID`),
CONSTRAINT `FK_munit_mcluster` FOREIGN KEY (`ProjectID`) REFERENCES `mcluster` (`ProjectID`),
CONSTRAINT `FK_munit_mcluster_2` FOREIGN KEY (`ClusterID`) REFERENCES `mcluster` (`ClusterID`)
)
2. Buka editor Netbeans anda, kemudian pada menu pilih File->New Project. Maka akan tampil form New Project.
Pilih pada list Categories -> Java kemudian pada list Projects pilih Project Application.
3.Kemudian klik button Next, maka akan keluar form New Java Application. isikan nama projectnya dengan Property,
kemudian klik button Finish
4.Maka akan tampil sebuah project dengan nama Property. Keseluruhan class pada project Property adalah seperti gambar di bawah ini.
5. Klik kanan mouse pada project property->properties->libraries. Masukkan library dari Hibernate dan mySQL Connector for Java kedalam project.seperti gambar dibawah ini. Kemudian tekan button OK.
6. Buat sebuah class HibernateUtil.java dengan klik kanan mouse pada project Property hingga keluar form New File. Pada list Categories pilih Hibernate dan pada list File Types pilih HibernateUtil.java. kemudian klik Next
7. Maka akan keluar form HibernateUtil.java. ubah Class Name menjadi HibernateUtil dan package di property.
Setelah itu klik button Next.
maka akan tercipta sebuah class dengan nama HibernateUtil.java dengan code sebagai berikut.
package property;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.SessionFactory;
public class HibernateUtil {
private static final SessionFactory sessionFactory;
static {
try {
// Create the SessionFactory from standard (hibernate.cfg.xml)
// config file.
sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
} catch (Throwable ex) {
// Log the exception.
System.err.println(“Initial SessionFactory creation failed.” + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory; }
}
8. Buat sebuah class dengan nama hibernate.cfg.xml pada default package. isikan code seperti dibawah ini.
<?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.MySQLDialect</property>
<property name=”hibernate.connection.driver_class”>com.mysql.jdbc.Driver</property>
<property name=”hibernate.connection.url”>jdbc:mysql://localhost:3306/dbproperty</property>
<property name=”hibernate.connection.username”>root</property>
<property name=”hibernate.connection.password”>masuk</property>
<mapping class=”property.clsProject”/>
<mapping class=”property.clsCluster”/>
<mapping class=”property.clsUnit”/>
</session-factory>
</hibernate-configuration>
9. Buat sebuah class dengan nama clsProject.Java. isikan code seperti dibawah ini.
package property;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Id;
import javax.persistence.GeneratedValue;
@Entity
@Table(name=”mproject”)
public class clsProject implements Serializable {
@Id
@GeneratedValue
private int ProjectID;
@Column(name=”projectname”,length=50,nullable=true)
private String ProjectName;
@Column(name=”description”,length=255,nullable=true)
private String Description;
public String getDescription() {
return Description;
}
public void setDescription(String Description) {
this.Description = Description;
}
public int getProjectID() {
return ProjectID;
}
public void setProjectID(int ProjectID) {
this.ProjectID = ProjectID;
}
public String getProjectName() {
return ProjectName;
}
public void setProjectName(String ProjectName) {
this.ProjectName = ProjectName;
}
}
10. Buat sebuah form dengan nama mProject.java dengan tampilan sebagai berikut.
Isikan code sebagai berikut :
package property;
import java.util.Iterator;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
public class mProject extends javax.swing.JFrame {
SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
Session session = sessionFactory.openSession();
Transaction transaction = session.beginTransaction();
private void btnSaveMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
try{
clsProject project = new clsProject();
project.setProjectName(txtNama.getText());
project.setDescription(txtDesc.getText());
session.save(project);
transaction.commit();
System.out.println(“Save Success”);
}catch(Exception ex){
System.out.println(“Error :” + ex);
}finally{
session.close();
}
}
}
11. Untuk menjalankannya klik kanan mouse pada form mproject.java kemudian pilih run file.
12. Buat sebuah class dengan nama clsCluster.java. class ini mempunyai 3 buah primary key dengan 1 buah foreign key. Adapun bentuk dari class ini adalah.
package property;
import java.io.Serializable;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Embeddable;
import javax.persistence.EmbeddedId;
import javax.persistence.CascadeType;
import javax.persistence.FetchType;
import javax.persistence.OneToMany;
import javax.persistence.JoinColumn;
import org.hibernate.annotations.Cascade;
import javax.persistence.GeneratedValue;
import javax.persistence.ManyToOne;
@Entity
@Table(name=”mcluster”)
public class clsCluster implements Serializable{
@EmbeddedId
private ClusterPK clusterpk = new ClusterPK();
@ManyToOne
@JoinColumn(name=”projectid”, updatable=false, insertable=false)
private clsProject project;
@Column(name=”clusterid”,length=50)
private String ClusterID;
@Column(name=”floor”,length=4)
private int Floor;
@Column(name=”alias”,length=50,nullable=true)
private String Alias;
public String getAlias() {
return Alias;
}
public void setAlias(String Alias) {
this.Alias = Alias;
}
public String getClusterID() {
return ClusterID;
}
public void setClusterID(String ClusterID) {
this.ClusterID = ClusterID;
}
public int getFloor() {
return Floor;
}
public void setFloor(int Floor) {
this.Floor = Floor;
}
public ClusterPK getClusterpk() {
return clusterpk;
}
public void setClusterpk(ClusterPK clusterpk) {
this.clusterpk = clusterpk;
}
public clsProject getProject() {
return project;
}
public void setProject(clsProject project) {
this.project = project;
}
}
13. Buat sebuah class sebagai composite primarykey dengan nama ClusterPK.java. adapun codenya adalah sebagai berikut.
package property;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Embeddable;
@Embeddable
public class ClusterPK implements Serializable {
@Column(name=”projectid”)
private int ProjectID;
public int getProjectID() {
return ProjectID;
}
public void setProjectID(int ProjectID) {
this.ProjectID = ProjectID;
}
}
14. Buat sebuah form dengan nama mCluster.java dengan tampilan sebagai berikut.
Isikan code sebagai berikut :
package property;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
public class mCluster extends javax.swing.JFrame {
SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
Session session = sessionFactory.openSession();
Transaction transaction = session.beginTransaction();
private void btnSaveMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
try{
ClusterPK pk = new ClusterPK();
clsCluster cluster = new clsCluster();
pk.setProjectID(Integer.parseInt(txtProjectID.getText()));
cluster.setClusterpk(pk);
cluster.setClusterID(txtClusterID.getText());
cluster.setFloor(Integer.parseInt(txtFloor.getText()));
cluster.setAlias(txtAlias.getText());
session.save(cluster);
transaction.commit();
System.out.println(“Save Success”);
}catch(Exception ex){
System.out.println(“Error :” + ex.getMessage());
}
}
}
15. Untuk menjalankannya klik kanan mouse pada form mCluster.java kemudian pilih run file.
16. Buat sebuah class dengan nama clsUnit.java. class ini mempunyai 4 buah primary key dengan 1 buah foreign key. Adapun bentuk dari class ini adalah.
package property;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.EmbeddedId;
import javax.persistence.ManyToOne;
import javax.persistence.JoinColumns;
import javax.persistence.JoinColumn;
@Entity
@Table(name=”munit”)
public class clsUnit implements Serializable{
@EmbeddedId
private UnitPK unitPk = new UnitPK();
@ManyToOne
@JoinColumn(name=”projectid”,insertable=false,updatable=false,referencedColumnName=”projectid”)
private clsCluster project;
@ManyToOne
@JoinColumn(name=”clusterid”,insertable=false,updatable=false,referencedColumnName=”clusterid”)
private clsCluster cluster;
@ManyToOne
@JoinColumn(name=”floor”, insertable=false,updatable=false,referencedColumnName=”floor”)
private clsCluster floor;
@Column(name=”unitid”,nullable=false,length=10)
private int unitID;
public clsCluster getCluster() {
return cluster;
}
public void setCluster(clsCluster cluster) {
this.cluster = cluster;
}
public clsCluster getFloor() {
return floor;
}
public void setFloor(clsCluster floor) {
this.floor = floor;
}
public clsCluster getProject() {
return project;
}
public void setProject(clsCluster project) {
this.project = project;
}
public int getUnitID() {
return unitID;
}
public void setUnitID(int unitID) {
this.unitID = unitID;
}
public UnitPK getUnitPk() {
return unitPk;
}
public void setUnitPk(UnitPK unitPk) {
this.unitPk = unitPk;
}
}
17. Buat sebuah class sebagai composite primarykey dengan nama UnitPK.java. adapun codenya adalah sebagai berikut.
package property;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Embeddable;
@Embeddable
public class UnitPK implements Serializable{
@Column(name=”projectid”)
private int projectID;
@Column(name=”clusterid”)
private String clusterID;
@Column(name=”floor”)
private int floor;
public String getClusterID() {
return clusterID;
}
public void setClusterID(String clusterID) {
this.clusterID = clusterID;
}
public int getFloor() {
return floor;
}
public void setFloor(int floor) {
this.floor = floor;
}
public int getProjectID() {
return projectID;
}
public void setProjectID(int projectID) {
this.projectID = projectID;
}
}
18. Buat sebuah form dengan nama mUnit.java dengan tampilan sebagai berikut.
Isikan code sebagai berikut :
import org.hibernate.SessionFactory;
import org.hibernate.Session;
import org.hibernate.Transaction;
public class mUnit extends javax.swing.JFrame {
SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
Session session = sessionFactory.openSession();
Transaction transaction = session.beginTransaction();
private void btnSaveMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
try{
UnitPK unitpk = new UnitPK();
clsUnit clsunit = new clsUnit();
unitpk.setProjectID(Integer.parseInt(txtProjectID.getText()));
unitpk.setClusterID(txtCluster.getText());
unitpk.setFloor(Integer.parseInt(txtFloor.getText()));
clsunit.setUnitPk(unitpk);
clsunit.setUnitID(Integer.parseInt(txtUnit.getText()));
session.save(clsunit);
transaction.commit();
System.out.println(“Save Success”);
}catch(Exception ex){
System.out.println(“Error :” + ex.getMessage());
}
}
}
19. Untuk menjalankannya klik kanan mouse pada form mUnit.java kemudian pilih run file.