Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

दो टेबल में शामिल होने और सभी रिकॉर्ड लाने के लिए हाइबरनेट?

ORM का उपयोग करते समय आपको जावा ऑब्जेक्ट के बारे में सोचना चाहिए उपकरण।

आपके प्रश्न से मुझे लगता है कि आप जिस प्रश्न को लिखने का प्रयास कर रहे हैं वह कुछ इस तरह दिखाई देगा:

public List<Category> getCategoryList(int id) {
    List<Category> groupList;
    Session session = sessionFactory.getCurrentSession();
    Query query = session.createQuery("select c from Category c join fetch c.events where c.parentCategory.categoryId = 1");
    //query.setParameter("id", id);
    groupList = query.list();
    return groupList;
}

ओआरएम का उपयोग करने के लाभों में से एक यह है कि यह आपके लिए पूर्ण जॉइन क्वेरी तैयार करता है।

इसके लिए काम करने के लिए आपको अपने क्लास मॉडल को इस प्रकार अपडेट करना होगा:

import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;

@Entity
@Table(name = "events")
public class Event implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "event_id")
    private int eventId;

    @Column(name = "event_name")
    private String eventName;

    @Column(name = "event_description")
    private String eventDescription;

    @ManyToOne
    @JoinColumn(name = "category_i")
    private Category category;

    @Column(name = "is_trending_event")
    private Integer isTrendingEvent;

    @Column(name = "image_url")
    private String imageUrl;

    private Integer status;

    @Column(name = "created_date")
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date createdDate;

    @Column(name = "last_updated_date")
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date lastUpdatedDate;

    ...

}

और

import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;

@Entity
@Table(name = "category")
public class Category implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "category_id")
    private int categoryId;

    @Column(name = "category_name")
    private String categoryName;

    @ManyToOne
    @JoinColumn(name="parent_category_id")
    private Category parentCategory;

    @Column(name = "created_date")
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date createdDate;

    @Column(name = "last_updated_date")
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date lastUpdatedDate;

    @OneToMany(mappedBy="category")
    private List<Event> events;

    ...

}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL क्वेरी, MAX () + ग्रुप बाय

  2. रूबी में सीएसवी पढ़ने का सबसे अच्छा तरीका। तेज़ सीएसवी?

  3. qt5.1.1 mysql ubuntu QMYSQL ड्राइवर लोड नहीं हुआ

  4. mysql.connector के साथ क्वेरी कैश को अक्षम कैसे करें

  5. mysql में रिकॉर्ड के समूह के लिए एक ही सीरियल नंबर कैसे दें?