Total members 11890 |It is currently Thu Apr 25, 2024 12:30 pm Login / Join Codemiles

Java

C/C++

PHP

C#

HTML

CSS

ASP

Javascript

JQuery

AJAX

XSD

Python

Matlab

R Scripts

Weka





The following show relationship @OneToMany , when using fetch Type EAGER . fetch Type EAGER , means the data are loaded eagerly . For example if we have entity topic and entity comment which are related to each other . If you loaded topic entity , its related comments array will be loaded too in same-time ,but take care ,this may cause a performance issues . Sometimes you don't need the related data of your entity to be loaded .


Topic entity :
Code:

import javax
.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import java.util.Date;
import java.util.Set;

import javax.persistence.SequenceGenerator;

@
Entity
@Table(name="TOPIC")
@
SequenceGenerator(sequenceName="TOPIC_SEQ",name="TOPIC_SEQ_GEN")
public class topic {

    private long Id;
    private String title;
    private Date creationDate;
    private Date modifedDate;
    private String content;
    private String pending;
    private String editUser;
    private Set<comment> commentSet;
    
    
@Id
    
@GeneratedValue(generator="TOPIC_SEQ_GEN",strategy=GenerationType.SEQUENCE)
    public long getId() {
        return Id;
    }
    public void setId(long id) {
        Id = id;
    }
    
    
@Column(name="TITLE")
    public String getTitle() {
        return title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    
    
@Column(name="CREATION_DATE")
    public Date getCreationDate() {
        return creationDate;
    }
    public void setCreationDate(Date creationDate) {
        this.creationDate = creationDate;
    }
    
    
@Column(name="MODIFED_DATE")
    public Date getModifedDate() {
        return modifedDate;
    }
    public void setModifedDate(Date modifedDate) {
        this.modifedDate = modifedDate;
    }
    
    
@Column(name="CONTENT")
    public String getContent() {
        return content;
    }
    public void setContent(String content) {
        this.content = content;
    }
    
    public void setPending
(String pending) {
        this.pending = pending;
    }
    @Column(name="PENDING")
    public String getPending() {
        return pending;
    }
    public void setEditUser(String editUser) {
        this.editUser = editUser;
    }
    @Column(name="EDIT_USER")
    public String getEditUser() {
        return editUser;
    }
    public void setCommentSet(Set<comment> commentSet) {
        this.commentSet = commentSet;
    }
    @OneToMany(fetch=FetchType.EAGER ,cascade=CascadeType.ALL,mappedBy="topic")
    public Set<comment> getCommentSet() {
        return commentSet;
    }
}
 




_________________
M. S. Rakha, Ph.D.
Queen's University
Canada


Author:
Mastermind
User avatar Posts: 2715
Have thanks: 74 time
Post new topic Reply to topic  [ 1 post ] 

  Related Posts  to : FetchType EAGER
 FetchType LAZY     -  



Topic Tags

Java JPA






Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
All copyrights reserved to codemiles.com 2007-2011
mileX v1.0 designed by codemiles team
Codemiles.com is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to Amazon.com