کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

درس ششم : آموزش استفاده از annonation در Hibernate

درس ششم : آموزش استفاده از annonation در Hibernate

 

برنامه های Hibernate را می توان به همراه annotation ها نیز ایجاد کرد . همانطور که می دانید ، annotation یا به معنی فارسی " توضیحات متنی درباره داده " ، اطلاعاتی است که در لا به لای کدهای برنامه قرار داده می شوند . این کدها توضیحاتی را به نحوه عملکرد برنامه و روند اجرای آن ارایه می کنند که هم برای کاربر و هم برای کامپایلر جاوا قابل فهم است ، ولی انرژی برروی کدهای برنامه ندارد و در خروجی هم نمایش داده نمی شود .
Annotation هایی زیادی از جمله @Entity ، @Icl ، @Table و ... وجود دارد که از آنها می توانید در برنامه های Hibernate استفاده کنید .
Annotation ها در Hibernate برپایه JPA 2 تعریف شده اند و قابلیت های آن را دارا می باشند . کلید JPA Annotation ها در پکیج javax.persistence.* تعریف شده اند . Entity Manger در Hibernate ، رابط کاربری و Life cycle تعیین شده توسط JPA را اجرا و تولید می کند .
مهمترین فایده استفاده از annotation در Hibernate ، این است که دیگر نیازی ندارد تا فایل mapping ( hbm ) را برای برنامه ایجاد کنید . در اینجا Hibernate annotation برای تولید meta data به کار می رود .

مثال عملی ایجاد یک برنامه Hibernate به همراه Annotation :

برای ایجاد یک برنامه Hibernate به همراه annotation ، بایستی 4 مرحله زیر را انجام دهید :

  1. فایل های jar لازم جهت oracle ( اگر پایگاه داده برنامه oracle باشد ) و annotation را به برنامه اضافه کنید .
  2. کلاس Persistent Class را ایجاد نمایید .
  3. mapping ( آدرس دهی ) لازم را جهت کلاس Persistent در فایل تنظیمات Configuration برنامه ایجاد کنید .
  4. کلاس لازم جهت ایجاد و نگهداری Persistent را تعیین و ایجاد کنید .

در ادامه به تشریح کامل هر یک از مراحل فوق خواهیم پرداخت .

مرحله اول-اضافه کردن فایل های jar لازم برای oracle و annotation :

برای annotation هم بایستی فایل های زیر را به برنامه اضافه کنید :

  • hibernate-commons-annotations.jar
  • ejb3-persistence.jar
  • hibernate-annotations.jar

مرحله دوم-آموزش ایجاد کلاس Persistent Class :

در این مرحله ، یک کلاس persistent همانند آنچه در مرحله قبل ایجاد کردیم ، به پروژه اضافه می کنیم . با این تفاوت که در کلاس برنامه جدید ، از annotation های استفاده می کنیم .
@Entity کلاس جاری را به عنوان یک Entity مشخص می کند .
@Table نام جدولی که قرار است اطلاعات Entity فوق در آن قرار بگیرد را تعیین می کند . اگر از @Table annotation استفاده نکنید ، برنامه به صورت پیش فرض ، نام کلاس را به عنوان نام جدول تعیین می کنید .
@Id ، شناسه ( Identifier ) لازم را جهت Entity تعیین می کند . @column ، اطلاعات لازم برای column هر property یا فیلد در برنامه را تعیین می کند . اگر از @column annotation استفاده نشود ، برنامه نام هر property را به صورت پیش فرض برای هر column آن در نظر می گیرد .

کد زیر ، محتویات فایل Employee.java را نشان داده که نحوه استفاده از annotation ها در آن مشخص شده است :

package com.javatpoint;  
  
import javax.persistence.Entity;  
import javax.persistence.Id;  
import javax.persistence.Table;  
  
@Entity  
@Table(name= "emp500")  
public class Employee {  
@Id  
private int id;  
private String firstName,lastName;  
  
public int getId() {  
    return id;  
}  
public void setId(int id) {  
    this.id = id;  
}  
public String getFirstName() {  
    return firstName;  
}  
public void setFirstName(String firstName) {  
    this.firstName = firstName;  
}  
public String getLastName() {  
    return lastName;  
}  
public void setLastName(String lastName) {  
    this.lastName = lastName;  
}  
  
  
}  
                

مرحله سوم-اضافه کردن mapping جهت کلاس Persistent در فایل Configuration :

فایل تنظیمات برنامه hibernate.cgf.xml را باز کرده و کد خط زیر را برای آدرس دهی ( mapping ) کلاس Persistent به آن اضافه کنید :

    

اکنون فایل تنظیمات Configuration به صورت زیر تغییر خواهد کرد :

  
  
  
  
  
  
 create  
 org.hibernate.dialect.Oracle9Dialect  
 jdbc:oracle:thin:@localhost:1521:xe  
 system  
 oracle  
 oracle.jdbc.driver.OracleDriver  
      
   
   
  
  
                

مرحله چهارم-ایجاد کلاس لازم جهت تولید و نگهداری شی persistent object :

در این کلاس ، قصد داریم تا شی employee object را در پایگاه داده نگهداری کنیم . در این بخش ، از کلاس Annotation Configuration برای دریافت اطلاعات لازم جهت آدرس دهی ( mapping ) از کلاس Persistent استفاده می کنیم . همانند کد زیر :

package com.javatpoint.mypackage;  
  
package com.javatpoint;  
  
import org.hibernate.*;  
import org.hibernate.cfg.*;  
  
public class Test {  
public static void main(String[] args) {  
    Session session=new AnnotationConfiguration()  
         .configure().buildSessionFactory().openSession();  
      
    Transaction t=session.beginTransaction();  
      
    Employee e1=new Employee();  
    e1.setId(1001);  
    e1.setFirstName("sonoo");  
    e1.setLastName("jaiswal");  
      
    Employee e2=new Employee();  
    e2.setId(1002);  
    e2.setFirstName("vimal");  
    e2.setLastName("jaiswal");  
      
    session.persist(e1);  
    session.persist(e2);  
      
    t.commit();  
    session.close();  
    System.out.println("successfully saved");  
}  
} 
                
1395/06/28 3718 1092
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...