مشخصات مقاله
-
1031
-
0.0
-
2467
-
0
-
0
درس بیستم : آموزش آدرس دهی المنت List در آدرس دهی مجموعه ها
آموزش آدرس دهی المنت List در آدرس دهی مجموعه ها :
اگر کلاس خام و اصلی برنامه (Persistant Class)، حاوی شی List object باشد، به سادگی می توانید شی List را به وسیله المنت
در این مثال عملی، قصد داریم تا نحوه آدرس دهی مجموعه ها را با المنت list به طور کامل آموزش دهیم. در این مثال، المنت List مجموعه ای از مقادیر متنی String Values را نگهداری می کند نه رفرنس ها به موجودیت ها. به همین دلیل از روش element به جای one-to-many برای عنصر list استفاده می کنیم. 1)ایجاد کلاس اصلی و خام برنامه Persistent Class : 2)ایجاد فایل آدرس دهی mapping file برای کلاس Persistent : 3)ایجاد فایل تنظیمات برنامه Configuration file : 4)ایجاد کلاس لازم جهت نگهداری اطلاعات : 5)آموزش نحوه دریافت اطلاعات از شی List : خروجی مثال هم به صورت زیر خواهد بود : کلاس در فایل mapping و یا annotation آدرس دهی کنید.
در این درس، ما از سناریوی 1 یا Forum استفاده می کنیم که در آن هر سوال می تواند دارای چندین جواب باشد. شکل زیر بیان کننده مفهوم مسئله است :
به وسیله کد زیر، می توانیم شی List را در فایل mapping تعریف و تنظیم کنیم :
...
مثال عملی آموزش آدرس دهی المنت List در مجموعه ها :
کلاس اصلی Persistent Class، کلید خواص Class از جمله خاصیت List را تعیین می کند. به صورت زیر :
package com.javatpoint;
import java.util.List;
public class Question {
private int id;
private String qname;
private List answers;
//getters and setters
}
در کد زیر، محتویات فایل question.hbm.xml را برای تعریف شی List قرار داده ایم :
فایل زیر که فایل تنظیمات برنامه است، شامل اطلاعاتی راجع به پایگاه داده و فایل آدرس دهی mapping file است.
در کلاس زیر، اطلاعات مربوط به کلاس question را نگهداری می کنیم :
package com.javatpoint;
import java.util.ArrayList;
import org.hibernate.*;
import org.hibernate.cfg.*;
public class StoreData {
public static void main(String[] args) {
Session session=new Configuration().configure("hibernate.cfg.xml")
.buildSessionFactory().openSession();
Transaction t=session.beginTransaction();
ArrayList
در کد زیر، ما از زبان HQL برای خواندن کلید رکوردهای کلاس Question از جمله answers استفاده کرده ایم. در این روش، برنامه اطلاعات رکوردها را از دو جدول که دارای عملکردی مستقل هستند، می خواند :
package com.javatpoint;
import java.util.*;
import org.hibernate.*;
import org.hibernate.cfg.*;
public class FetchData {
public static void main(String[] args) {
Session session=new Configuration().configure("hibernate.cfg.xml")
.buildSessionFactory().openSession();
Query query=session.createQuery("from Question");
List