Total members 9950 | Gratitudes |It is currently Sat Feb 11, 2012 2:23 am Login / Join Codemiles


All times are UTC [ DST ]




Post new topic Reply to topic  Quick reply  [ 1 post ] 
Author Code Snippet
 Code subject: Named Native Query
PostPosted: Wed Apr 21, 2010 5:27 pm 
Offline
Mastermind
User avatar

Joined: Tue Mar 27, 2007 10:55 pm
Posts: 2103
Location: Earth
Has thanked: 39 time
Have thanks: 56 time

Using named native query , you can write simple SQL queries and run it on your JPA model . You may need to do this in cases when you need a specific database query that you can't do with EJB-QL . Sometimes for performance issues .

You can add native query using @NamedNativeQuery annotation .

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.NamedNativeQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;



@
Entity
@Table(name="TOPIC")
@
NamedNativeQuery(name = "nativeTopicByDate", query = "SELECT topic.TITLE, topic.CREATION_DATE FROM TOPIC topic " +
        "WHERE topic.MODIFED_DATE=?", resultClass = Topic.class)
    

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;
    }
}
 


Code:

package com
.codemiles.jpa;

import java.util.Date;
import java.util.List;

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

/**
 * @author codemiles.
 *
 */
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();
     
Date date = new Date(System.currentTimeMillis());
    List<
Topic> list = loadTopicByDatedate);
    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();

    }

 
 
    
/**
     * Using native query .
     * @param date
     *   date of the creation .
     * @return
     *  List of topics retrieved 
     */
    
public  List<TopicloadTopicByDate(Date date) {
    
Query query entityManager.createNativeQuery("nativeTopicByDate");
    
query.setParameter(1date);
 
    List<
TopictopicList query.getResultList();
    return 
topicList;
    }

}

 

_________________
Currenlty programming with : java , html , php , and javascript . (OCJP-6 certified )


TOP
 Profile Send private message  
Reply with quote  
Post new topic Reply to topic Quick reply  [ 1 post ] 
Quick reply


  


 Similar topics
 Topic title   Forum   Author   Comments 
 update query example  PHP examples  msi_333  0
 select query example in php  PHP examples  msi_333  0
 insert query example  PHP examples  msi_333  0
 query  Java  Anonymous  1
 what is the query to retrieve to student data based on least  SQL Server  saics  6

All times are UTC [ DST ]


Users browsing similar codes

Users browsing this forum: No registered users and 1 guest



Jump to:  
Previous Code Snippet | Next Code Snippet 




Home
General Talks
Finished Projects
Code Library
Games
Tutorials

Java
C/C++
C-sharp
php
Script
JSP/Servlets
Ajax
ASP/ASP.net
Google SEO
Database
Communications
Phpbb3 styles
Photoshop tutorials
Flash tutorials
Find a job






Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
All copyrights reserved to codemiles.com 2007-2011
mileX v1.0 designed by codemiles team