در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

هایبرنیت (جـــاوا) قسمت دوم

در مقاله قبلی شروع کردیم به مباحث مقدماتی و معماری و ویژگی های هایبرنیت در جاوا در این قسمت به ادامه مطلب می پردازیم

نگاشت شیء Contact به جدول Contact در پایگاه داده

فایل Contact.hbm.xml برای نگاشت شیء contact به جدول contact در پایگاه داده استفاده می شود.

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC 
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
  <class name="roseindia.tutorial.hibernate.Contact" table="CONTACT">
   <id name="id" type="long" column="ID" >
   <generator class="assigned"/>
  </id>

  <property name="firstName">
     <column name="FIRSTNAME" />
  </property>
  <property name="lastName">
    <column name="LASTNAME"/>
  </property>
  <property name="email">
    <column name="EMAIL"/>
  </property>
 </class>
</hibernate-mapping>

برپاکردن پایگاه داده MySQL

در فایل پیکربندی hibernate.cfg.xml تعیین کرده ایم که از پایگاه داده hibernatetutorial که برروی کامپیوتر localhost اجرا شده است استفاده کنیم. بنابراین پایگاه داده hibernatetutorial را برروی کامپیوتر localhost ایجاد کنید.

ایجاد کد برای تست مثال هایبرنیت

حال آماده نوشتن یک برنامه برای درج داده در پایگاه داده هستیم. ماباید ابتدا مفهموم نشست هایبرنیت را بفهمیم. نشست هایبرنیت رابط اصلی زمان اجرا بین برنامه جاوا و هایبرنیت می باشد. ابتدا ما نیاز داریم که Session.SessionFctory هایبرنیت را دریافت کنیم که به برنامه اجازه می دهد که نشست هایبرنیت را با خواندن hibernate.cfg.xml ایجاد کند. سپس متد save در نشست برای ذخیره سازی اطلاعات contact در پایگاه داده استفاده می شود.

session.save(contact)

کد زیر مربوط به FirstExample.java می باشد.

package roseindia.tutorial.hibernate;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;


/**
 * @author Deepak Kumar
 *
 * http://www.roseindia.net
 * Hibernate example to inset data into Contact table
 */
public class FirstExample {
  public static void main(String[] args) {
    Session session = null;

    try{
      // This step will read hibernate.cfg.xml 
and prepare hibernate for use
      SessionFactory sessionFactory = new 
Configuration().configure().buildSessionFactory();
       session =sessionFactory.openSession();
        //Create new instance of Contact and set 
values in it by reading them from form object
         System.out.println("Inserting Record");
        Contact contact = new Contact();
        contact.setId(3);
        contact.setFirstName("Deepak");
        contact.setLastName("Kumar");
        contact.setEmail("deepak_38@yahoo.com");
        session.save(contact);
        System.out.println("Done");
    }catch(Exception e){
      System.out.println(e.getMessage());
    }finally{
      // Actual contact insertion will happen at this step
      session.flush();
      session.close();

      }
    
  }
} 

در بخش بعدی نشان خواهم داد که چگونه می توان برنامه را اجرا کرده و آن را تست کنیم.

هایبرنیت یک نرم افزار آزاد ومتن باز می باشد و می توانید آن را از سایت زیر دانلود کرده و آن را نصب کنید.

http://www.hibernate.org/30.html

اما من چیزهای زیادی را دریک فایل زیپ فراهم کرده ام. مثال ها و کتابخانه های کد را از لینک زیر دانلود کرده و آن را در پوشه مورد علاقه خود مثلا c:\hiebernateexample استخراج کنید.

http://www.roseindia.net/hibernate/hibernate.zip

برای اجرای مثال شما باید بروی کامپیوتر اکلیپس را نصب کنید. پروژه اکلیپس را شروع کرده و همان طور که در شکل زیر نشان داده شده است پروژه جاوا را انتخاب کنید.

هایبرنیت (جـــاوا) قسمت دوم

هایبرنیت (جـــاوا) قسمت دوم

برروی دکمه Next کلیک کرده و در صفحه بعدی مقدار پیش فرض فولدر خروجی را hibernateexample/bin رها کنید.

هایبرنیت (جـــاوا) قسمت دوم

برروی دکمه Finish کلیک کنید.

حال همان طور که در شکل زیر نشان داده شده است فایل FirstExample.java را بازکنید.

هایبرنیت (جـــاوا) قسمت دوم

با استفاده از کاوشگر پنجره ها فایل های Contact.hbm.xml و hibernate.cfg.xml را درون پوشه bin پروژه کپی کنید.

همان طور که در شکل نمایش داده شده است برای اجرای مثال منوی Run->Run As->Java Appication را انتخاب کنید.

هایبرنیت (جـــاوا) قسمت دوم

این کار باعث اجرای مثال هایبرنیت در اکلیپس شده و خروجی زیر در کنسول اکلیپس به نمایش درخواهد آمد.

هایبرنیت (جـــاوا) قسمت دوم

در این قسمت به شما نشان دادم که چگونه می توان مثال اول هایبرنیت را اجرا کرد.

فهم نگاشت O/R هایبرنیت

در آخرین مثال فایل contact.hbm.xml را برای نگاشت شیء contact به جدول Contact در ایجاد کردیم.حال بیایید هر کدام از اجزای فایل نگاشت را بفهمیم.

برای یادآوری محتوای فایل contact.hbm.xml در زیر وجود دارد:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC 
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
  <class name="roseindia.tutorial.hibernate.Contact" table="CONTACT">
   <id name="id" type="long" column="ID" >
   <generator class="assigned"/>
  </id>

  <property name="firstName">
     <column name="FIRSTNAME" />
  </property>
  <property name="lastName">
    <column name="LASTNAME"/>
  </property>
  <property name="email">
    <column name="EMAIL"/>
  </property>
 </class>
</hibernate-mapping>

فایل های نگاشت هایبرنیت فایل های ساده XML می باشند. در زیر برخی از عناصر مهم فایل نگاشت وجو دارند.

1. عنصر <hibernate-mapping> : عنصر ابتدا یا ریشه سند نگاشت هایبرنیت عنصر <hibernate-mapping> می باشد. بین تگ های <hibernate-mapping> عناصر کلاس نمایش داده می شوند.

2. عنصر <class> : عنصر <class> شیء کلاس را با موجودیت مرتبط با خود در پایگاه داده نگاشت می کند.همچنین مشخص می کند که کدام جدول در پایگاه داده باید دسترسی داشته باشد و کدام ستون در آن جدول باید استفاده شود.درون یک عنصر <hibernate-mapping> می تواند چندین عنصر<class> قرار گیرد.

3. عنصر <id> : عنصر <id> یک شناسه خاصه (کلید اصلی) برای شناسایی یک شیء می باشد. در حقیقت عنصر <id> نگاشت کلید اصلی جدول را انجام می دهد. در کد ما :

<id name="id" type="long" column="ID" >

کلید اصلی به فیلد ID از جدول Contact نگاشت می شود.خصوصیات عنصر <id> عبارتند از :

• Name : نام خصوصیتی که توسط کلاس پایدار استفاده می شود.

• Column : ستونی که برای ذخیره سازی مقدار کلید اصلی استفاده می شود.

• Type : نوع داده جاوای استفاده شده.

• Unsaved-value : این مقدار برای تعیین این که اگر کلاس پایدار ایجاد شده است و اگر مقدار خصوصیت id برابر null می باشد نشان دهنده این است که این شیء پایدار نبوده است.

4. عنصر <generator> : متد <generator> برای ایجاد کلید اصلی برای رکورد جدید استفاده می شود.در زیر برخی از تولید کننده های رایج وجود دارند :

• Increment : برای تولید کلید اصلی نوع long ، short یا int که فقط یکتا هستند ، استفاده می شود.

• Sequence : هایبرنیت همچنین می تواند از ترتیب ها برای تولید کلید اصلی استفاده کند. می توان آن را با پایگاه داده های DB2 ، PostgreSQL ، Oracle ، SAP DB استفاده کرد.

• Assigned : این روش زمانی استفاده می شود که کدهای برنامه برای تولید کلید اصلی استفاده می شوند.

5. عنصر <property> : عناصر <property> خصوصیات استاندارد جاوا و نگاشت آن ها به الگوی پایگاه داده را تعریف می کنند. عنصر <property> برای تعیین خصوصیات اضافی از عنصر <column-child> استفاده می کند. مانند نام شاخص در یک ستون و یا یک نوع خاص ستون.


نویسنده : فرهاد خانلری

منبع : انجمن تخصصی فناوری اطلاعات ایران

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد

#برنامه_نویسی_جاوا #آموزش_برنامه_نویسی_جاوا #کار_با_پایگاه_داده_در_جاوا #برنامه_نویسی_جاوا_و_هایبرنیت #نحوه_اتصال_به_دیتابیس_در_جاوا #آموزش_کار_با_هایبرنت #درج_و_حذف_در_دیتابیس #کار_با_دیتابیس_در_جاوا #کار_با_hibernate_در_جاوا #نگاشت_کلاس_ها_به_جدول_ها_در_جاوا
عنوان
1 هایبرنیت (جـــاوا) قسمت اول رایگان
2 هایبرنیت (جـــاوا) قسمت دوم رایگان
زمان و قیمت کل 0″ 0
0 نظر

هیچ نظری ارسال نشده است! اولین نظر برای این مطلب را شما ارسال کنید...

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره تابستانه می تونی امروز ارزونتر از فردا خرید کنی ....