Switch to full style
Java persistent API
Post a reply

FetchType LAZY

Mon Apr 26, 2010 12:02 am

FetchType LAZY is used when you only want that the related data to be loaded based on your request .It is loaded based when you call get function .You have to decide when you use EAGER or LAZY fetch type .You have to make your choice based on your system requirements which should specify your data model .

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.LAZY,cascade=CascadeType.ALL,mappedBy="topic")
    public Set<comment> getCommentSet() {
        return commentSet;
    }
}
 




Post a reply
  Related Posts  to : FetchType LAZY
 FetchType EAGER     -  

Topic Tags

Java JPA