Wed Apr 21, 2010 5:27 pm
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;
}
}
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 = loadTopicByDate( date);
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<Topic> loadTopicByDate(Date date) {
Query query = entityManager.createNativeQuery("nativeTopicByDate");
query.setParameter(1, date);
List<Topic> topicList = query.getResultList();
return topicList;
}
}
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
Powered by phpBB © phpBB Group.