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

درس 27 : آموزش آدرس دهی Many to Many Mapping در Hibernate

آموزش آدرس دهی Many to Many Mapping در Hibernate با مثال map و استفاده از فایل xml :

شما می توانید ارتباط many to many را با استفاده از المنت های set، bag، map و غیره انجام دهید. در این درس قصد داریم تا از المنت map برای آدرس دهی many to many استفاده کنیم. در این حالت، 3 جدول ایجاد خواهد شد که به بررسی آن ها خواهیم پرداخت.

مثال عملی آموزش آدرس دهی Many to Many در Hibernate :

برای اجرای مثال نیاز دارید تا صفحه های زیر را در پروژه خود اضافه کنید :

  • Question.java
  • User.java
  • question.hbm.xml
  • User.hbm.xml
  • hibernate.cfg.xml
  • StoreTest.java
  • FetchTest.java

کد هر یک از فایل های فوق به صورت زیر خواهد بود :

فایل Question.java

 
package com.javatpoint;  
  
import java.util.Map;  
  
public class Question {  
private int id;  
private String name;  
private Map answers;  
  
public Question() {}  
public Question(String name, Map answers) {  
    super();  
    this.name = name;  
    this.answers = answers;  
}  
public int getId() {  
    return id;  
}  
public void setId(int id) {  
    this.id = id;  
}  
public String getName() {  
    return name;  
}  
public void setName(String name) {  
    this.name = name;  
}  
public Map getAnswers() {  
    return answers;  
}  
public void setAnswers(Map answers) {  
    this.answers = answers;  
}  
  
  
}  
            

فایل User.java

  
package com.javatpoint;  
  
public class User {  
private int id;  
private String username,email,country;  
  
public User() {}  
public User(String username, String email, String country) {  
    super();  
    this.username = username;  
    this.email = email;  
    this.country = country;  
}  
public int getId() {  
    return id;  
}  
  
public void setId(int id) {  
    this.id = id;  
}  
  
public String getUsername() {  
    return username;  
}  
  
public void setUsername(String username) {  
    this.username = username;  
}  
  
public String getEmail() {  
    return email;  
}  
  
public void setEmail(String email) {  
    this.email = email;  
}  
  
public String getCountry() {  
    return country;  
}  
  
public void setCountry(String country) {  
    this.country = country;  
}  
}  
            

فایل question.hbm.xml

  
  
  
            
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
            

فایل User.hbm.xml

 
  
  
            
  
  
  
  
  
  
  
  
  
  

            

فایل hibernate.cfg.xml

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

فایل StoreTest.java

 
package com.javatpoint;  
  
import java.util.HashMap;  
import org.hibernate.*;  
import org.hibernate.cfg.*;  
public class StoreTest {  
public static void main(String[] args) {  
Session session=new Configuration().configure().buildSessionFactory().openSession();  
Transaction tx=session.beginTransaction();  
  
HashMap map1=new HashMap();  
map1.put("java is a programming language",  
new User("John Milton","john@gmail.com","usa"));  
  
map1.put("java is a platform",  
new User("Ashok Kumar","ashok@gmail.com","india"));  
  
HashMap map2=new HashMap();  
map2.put("servlet technology is a server side programming",  
  
new User("John Milton","john@gmail.com","usa"));  
map2.put("Servlet is an Interface",  
new User("Ashok Kumar","ashok@gmail.com","india"));  
  
Question question1=new Question("What is java?",map1);  
Question question2=new Question("What is servlet?",map2);  
  
session.persist(question1);  
session.persist(question2);  
  
tx.commit();  
session.close();  
System.out.println("successfully stored");  
}  
}  
            

فایل FetchTest.java

package com.javatpoint;  
import java.util.*;  
import org.hibernate.*;  
import org.hibernate.cfg.*;  
public class FetchTest {  
public static void main(String[] args) {  
 Session session=new Configuration().configure().buildSessionFactory().openSession();  
 Query query=session.createQuery("from Question ");  
 List list=query.list();  
          
 Iterator iterator=list.iterator();  
 while(iterator.hasNext()){  
  Question question=iterator.next();  
  System.out.println("question id:"+question.getId());  
  System.out.println("question name:"+question.getName());  
  System.out.println("answers.....");  
  Map map=question.getAnswers();  
  Set<>> set=map.entrySet();  
  
  Iterator<>> iteratoranswer=set.iterator();  
  while(iteratoranswer.hasNext()){  
   Map.Entry entry=(Map.Entry)iteratoranswer.next();  
   System.out.println("answer name:"+entry.getKey());  
   System.out.println("answer posted by.........");  
   User user=entry.getValue();  
   System.out.println("username:"+user.getUsername());  
   System.out.println("user emailid:"+user.getEmail());  
   System.out.println("user country:"+user.getCountry());  
  }  
 }  
session.close();  
}  
}  
       
1395/07/11 2614 1006
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

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