@Entity
Entity(Varlık) anotasyonu sadece sınıflar için kullanılır. @Entity yazan sınıflar artık Entity sınıfı olmaktadır. Veritabanına haritalanmasını istediğimiz sınıfın üzerine yazılması gerekmektedir.
@Id
Her nesnenin veritabanında bir kimliği(Identity) olur. Bu anotasyon ile Entity sınıfının identity(kimliği) belirlenmiş olur.
@GeneratedValue
Id değerinin veritabanında nasıl artacağına karar veren mekanizmadır. Çeşitli stratejilere sahiptir. Varsayılan stratejisi (strategy=GenerationType.AUTO)'dur. Yani her nesne eklendiğinde veritabanında id alanı birer birer artar. İlk id değeri 1'dir.
0-Kullanılan Teknolojiler
Eclipse IDEMaven 3.3.9
Hibernate 4.0.1.Final
MySQL 5.1
2-Entity (Model) Sınıfı:
Gorevli.java
package com.hasanburakavci; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; @Entity public class Gorevli { @Id @GeneratedValue(strategy=GenerationType.AUTO) private int id; private String ad; private String soyad; //-------------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 getSoyad() { return soyad; } public void setSoyad(String soyad) { this.soyad = soyad; } }
3-HibernateUtil Sınıfı
package com.hasanburakavci.util; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; public class HibernateUtil { private static final SessionFactory sessionFactory = buildSessionFactory(); //SessionFactory oluşturuluyor. private static SessionFactory buildSessionFactory() { try { return new Configuration().configure().buildSessionFactory(); } catch (Throwable ex) { //Hata meydana gelirse konsola hata mesajı yazdırılıyor. System.err.println("SessionFactory oluşturulurken hata oluştu." + ex); throw new ExceptionInInitializerError(ex); } } //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(); //Gorevli sınıfından yeni bir nesne oluşturuluyor. Gorevli gorevli1=new Gorevli(); gorevli1.setAd("Hasan Burak"); //adı Hasan Burak olarak eklendi. gorevli1.setSoyad("Avci"); //soyadı Avci olarak eklendi. try { session.beginTransaction(); //oluşturulan gorevli1 nesnesi veritabanına kaydediliyor. session.save(gorevli1); 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.Gorevli"/>
</session-factory>
</hibernate-configuration>
7-Konsol
.
.
.
INFO: HHH000262: Table not found: Gorevli
Haz 16, 2016 9:51:08 PM org.hibernate.tool.hbm2ddl.DatabaseMetadata getTableMetadata
INFO: HHH000262: Table not found: Gorevli
Haz 16, 2016 9:51:09 PM org.hibernate.tool.hbm2ddl.SchemaUpdate execute
INFO: HHH000232: Schema update complete
Hibernate: insert into Gorevli (ad, soyad) values (?, ?)
8-Veritabanı Tablosu
HibernateApplication.java sınıfı birkez Run edilirse veritabanına bir kayıt eklenir.

İkinci kez Run edilirse bir kayıt daha eklenir ve toplamda iki adet kayıt olur. (@GeneratedValue anotasyonu kullanıldığı için id değeri otomatik birer birer artıyor.)

Top 4 Casino (2021) - Tricktactoe
YanıtlaSilBest casino? 오즈 포탈 · Online casinos. · Mobile 배당 사이트 casino sites 롤 e 스포츠 · 안전 토토사이트 Bingo site. · Online 체크 토토 넷마블 casino. · Online casino. · Online casino.