Tue Apr 20, 2010 8:23 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.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")
,
@NamedQuery(name="FindTopicByTitleAndDate",
query="SELECT t FROM Topic t WHERE t.title = :title and t.creationDate=:creationDate") })
@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;
}
}
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();
String title = "Codemiles";
Date date = new Date(System.currentTimeMillis());
List<Topic> list = loadTopicByTitleAndDate(title, 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();
}
/**
* @return
* List of topics retrieved
*/
public List<Topic> loadAllTopics() {
List<Topic> resultList = entityManager
.createNamedQuery("FinlAllTopics").getResultList();
return resultList;
}
/**
* @param title
* title of the topic .
* @return
* List of topics retrieved
*/
public List<Topic> loadTopicByTitle(String title) {
Query query = entityManager.createNamedQuery("FindTopicByTitle");
query.setParameter("title", title);
List<Topic> topicList = query.getResultList();
return topicList;
}
/**
* @param title
* title of the topic .
* @param date
* date of the creation .
* @return
* List of topics retrieved
*/
public List<Topic> loadTopicByTitleAndDate(String title, Date date) {
Query query = entityManager.createNamedQuery("FindTopicByTitleAndDate");
query.setParameter("title", title);
query.setParameter("creationDate", 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.