Switch to full style
Java persistent API
Post a reply

using parameter with name query

Tue Apr 20, 2010 8:11 pm

Following example show you how to send parameter to the defined named query which is exists in the entity .

Topic entity :

Code:

package com
.codemiles.jpa;
import java.util.Collection;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.OneToMany;


@
Entity
@NamedQueries({
    @NamedQuery(name="FindAllTopics",
                query="SELECT t FROM Topic t"),
@
NamedQuery(name="FindTopicByTitle",
            query="SELECT t FROM Topic t WHERE t.title = :title")
                })
@
Table(name="TOPIC")
public class Topic implements java.io.Serializable{
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    @Id
    private int Id
;
    private String title;
    private Date creationDate;
    private Date modifedDate;
    private String content;
    @OneToMany(mappedBy="topic")
    private Collection<Comment> comments;

    public int getId() {
        return Id;
    }
    public void setId(int 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 setComments(Collection<Comment> comments) {
    this.comments = comments;
    }
    public Collection<Comment> getComments() {
    return comments;
    }
}
 


Using the named query :
Code:

package com
.codemiles.jpa;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.Query;

public abstract class JPAService {
    private EntityManager entityManager;

    /**
     * @param args
     */
    public void insertTopic(Topic topic) {
    EntityManagerFactory factory = Persistence
            
.createEntityManagerFactory("persistenceUnitName");
    entityManager = factory.createEntityManager();
    entityManager.getTransaction().begin();
        String title="Codemiles";
    List<Topic> list = loadTopicByTitle(title);
    if (list != null) {
        for (Topic currentTopic : list) {
        System.out.println("Topic id#(" + currentTopic.getId()
                + " ). Title = " + currentTopic.getTitle()
                + " , Content = " + currentTopic.getContent());
        }
    }
    entityManager.persist(topic);
    entityManager.getTransaction().commit();
    entityManager.close();
    factory.close();

    }

    public List<Topic> loadAllTopics() {
    List<Topic> resultList = entityManager
            
.createNamedQuery("FinlAllTopics").getResultList();

    return resultList;
    }

    public List<Topic> loadTopicByTitle(String title) {
    Query query = entityManager.createNamedQuery("FindTopicByTitle");
    query.setParameter("title", title);
    List<Topic> topicList = query.getResultList();
    return topicList;
    }

}

 




Post a reply
  Related Posts  to : using parameter with name query
 more than one parameter with name query     -  
 get url parameter     -  
 pass parameter     -  
 class with constructor parameter     -  
 Pass class instance as parameter in php     -  
 Java script time parameter     -  
 Passing Enum as Type Parameter to method     -  
 Passing arrays as function parameter in java     -  
 EJB-QL IN where query     -  
 SQL AND OR in WHERE query Commands     -  

Topic Tags

Java JPA