Latest Tutorials| Questions and Answers|Ask Questions?|Site Map



Home Jpa Eclipsejpaexamples JPA setParameter (Named Parameter)

Related Tutorials


 
 

Share on Google+Share on Google+

JPA setParameter (Named Parameter)

Advertisement
In this section, you will learn the JPA Query API's method setParameter as a named parameter.

JPA setParameter (Named Parameter)

     

In this section, you will learn the JPA Query API's method setParameter as a named parameter.

JPA Query API's supports two types of setParameter. 

1. Named Parameters 

2. Numbered Parameters

Here we are going to develop an application for using the named parameter in setParameter() method. This method bind an argument to a named parameter. 

setParameter(String namedParamter, Object val): This method bind the arguments to a named parameter. It takes two parameter. Named parameter name and its value. It also returns an instance of jpa query.

Developing the code:

  1. Database Table: student
  2. Model Class: Student.java
  3. Main Class: JPASetParameterNamedParameter.java

Database Table: student

CREATE TABLE `student` ( 
`id` int(11) NOT NULL auto_increment, 
`sname` varchar(100) NOT NULL, 
`sroll` int(11) NOT NULL, 
`scourse` varchar(10) NOT NULL, 
PRIMARY KEY (`id`) 
)

Model Class: Student.java

/**

*/
package roseindia;

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

/**
* @author Administrator
*
*/
@Entity
@Table(name="student")

public class Student {

@Id
@GeneratedValue
private int id;

/**
* @return the id
*/
public int getId() {
return id;
}

/**
* @param id the id to set
*/
public void setId(int id) {
this.id = id;
}

@Column(name="sname", length=100,nullable=false)
private String sname;

/**
* @return the sname
*/
public String getSname() {
return sname;
}

/**
* @param sname the sname to set
*/
public void setSname(String sname) {
this.sname = sname;
}

@Column(name="sroll",nullable=false)
private int sroll;

/**
* @return the sroll
*/
public int getSroll() {
return sroll;
}

/**
* @param sroll the sroll to set
*/
public void setSroll(int sroll) {
this.sroll = sroll;
}

@Column(name="scourse",length=10,nullable=false)
private String scourse;

/**
* @return the scourse
*/
public String getScourse() {
return scourse;
}

/**
* @param scourse the scourse to set
*/
public void setScourse(String scourse) {
this.scourse = scourse;
}

}

Main Class: JPASetParameterNamedParameter.java

/**

*

*/

package roseindia;

import java.util.Iterator;

import java.util.List;

import javax.persistence.EntityManager;

import javax.persistence.EntityManagerFactory;

import javax.persistence.EntityTransaction;

import javax.persistence.Persistence;

import javax.persistence.Query;

/**

* @author Administrator

*

*/

public class JPASetParameterNamedParameter {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

EntityManagerFactory emf=Persistence.createEntityManagerFactory("jpa");

EntityManager em=emf.createEntityManager();

try{

EntityTransaction entr=em.getTransaction();

entr.begin();

Query query=em.createQuery("SELECT st FROM Student st WHERE st.sroll > :roll");

query.setParameter("roll", 100);

List results = query.getResultList();

if(results.size()!=0){

Iterator stIterator=results.iterator();

while(stIterator.hasNext()){

Student st=(Student)stIterator.next();

System.out.print("sname:"+st.getSname());

System.out.print(" sroll:"+st.getSroll());

System.out.print(" scourse:"+st.getScourse());

System.out.println();

}

}

else{

System.out.println("Record not found.");

}

entr.commit();

}

finally{

em.close();

}

}

}

 Output:

log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version).

log4j:WARN Please initialize the log4j system properly.

Hibernate: select student0_.id as id0_, student0_.scourse as scourse0_, student0_.sname as sname0_, student0_.sroll as sroll0_ from student student0_ where student0_.sroll>?

sname:Vinod sroll:101 scourse:MCA

sname:Ravi sroll:102 scourse:M.Tech.

sname:Suman sroll:103 scourse:PHD

sname:Noor sroll:104 scourse:Tourism

Advertisement

If you enjoyed this post then why not add us on Google+? Add us to your Circles



Liked it!  Share this Tutorial


Follow us on Twitter, or add us on Facebook or Google Plus to keep you updated with the recent trends of Java and other open source platforms.

Posted on: June 17, 2009

Related Tutorials

Discuss: JPA setParameter (Named Parameter)   View All Comments

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 
Comments:0
DMCA.com