@Basic
Veritabanında ki tabloya haritalanmasını kesin istediğimiz alanlar için kullanılır.@Transient
Veritabanında ki tabloya haritalanmasını istemediğimiz alanlar için kullanılır.
0-Kullanılan Teknolojiler
Eclipse IDEMaven 3.3.9
Hibernate 4.0.1.Final
MySQL 5.1
1-Proje

2-Entity (Model) Sınıfı
package com.hasanburakavci; import javax.persistence.Basic; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Transient; @Entity public class Personel { @Id @GeneratedValue(strategy=GenerationType.AUTO) private int id; private String ad; @Transient //Veritabanına haritalanmasın. private String sifre; @Basic //Veritabanına kesinlikle haritalansın. private String adres; //-----------Setter-Getter-------- public int getId() { return id; } public void setId(int id) { this.id = id; } public String getAd() { return ad; } public void setAd(String ad) { this.ad = ad; } public String getSifre() { return sifre; } public void setSifre(String sifre) { this.sifre = sifre; } public String getAdres() { return adres; } public void setAdres(String adres) { this.adres = adres; } }
3-HibernateUtil Sınıfı
package com.hasanburakavci.util; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; public class HibernateUtil { //SessionFactory oluşturuluyor. private static SessionFactory sessionFactory; static{ Configuration configuration = new Configuration().configure(); sessionFactory = configuration.buildSessionFactory(); } //Diğer sınıflardan getSessionFactory metoduyla sessionFactory çağırılıyor. public static SessionFactory getSessionFactory() { return sessionFactory; } }
4-Hibernate Application Sınıfı
package com.hasanburakavci; import org.hibernate.Session; import com.hasanburakavci.util.HibernateUtil; public class HibernateApplication { public static void main(String[] args){ //HibernateUtil sınıfından SessionFactory çağırılıp Session oluşturuluyor. Session session= HibernateUtil.getSessionFactory().openSession(); //personel1 nesnesi oluşturuluyor. Personel personel1=new Personel(); personel1.setAd("Hasan Burak"); personel1.setAdres("adres"); personel1.setSifre("sifre"); try { session.beginTransaction(); //oluşturulan personel1 veritabanına kaydediliyor. session.save(personel1); session.getTransaction().commit(); } catch (Exception e) { /*Eğer hata meydana gelirse Transaction ile yapılan işlem geriye sarılıp iptal eiliyor*/ session.getTransaction().rollback(); }finally { //her durumda session işlemi sonlandırılıyor. session.close(); } } }
5-Pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.hasanburakavci</groupId> <artifactId>MerhabaHibernate</artifactId> <version>0.0.1-SNAPSHOT</version> <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId><version>5.1.6</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>4.0.1.Final</version> </dependency> </dependencies> </project>
6-Hibernate.cfg.xml Dosyası
<?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.bytecode.use_reflection_optimizer">false</property> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.password"></property> <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test</property> <property name="hibernate.connection.username">root</property> <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <property name="show_sql">true</property> <property name="hibernate.hbm2ddl.auto">update</property> <mapping class="com.hasanburakavci.model.Personel"/> </session-factory> </hibernate-configuration>
7-Konsol
.
.
.
INFO: HHH000396: Updating schema
Haz 17, 2016 10:23:12 AM org.hibernate.tool.hbm2ddl.DatabaseMetadata getTableMetadata
INFO: HHH000262: Table not found: Personel
Haz 17, 2016 10:23:12 AM org.hibernate.tool.hbm2ddl.DatabaseMetadata getTableMetadata
INFO: HHH000262: Table not found: Personel
Haz 17, 2016 10:23:12 AM org.hibernate.tool.hbm2ddl.SchemaUpdate execute
INFO: HHH000232: Schema update complete
Hibernate: insert into Personel (ad, adres) values (?, ?)
Hiç yorum yok:
Yorum Gönder