Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE hibernate-configuration PUBLIC
- "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
- "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
- <hibernate-configuration>
- <session-factory>
- <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
- <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
- <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/coffee</property>
- <property name="hibernate.connection.username">root</property>
- <property name="hibernate.connection.password">lithz1994</property>
- <property name="hibernate.show_sql">true</property>
- <property name="hbm2ddl.auto">update</property>
- <mapping class="home.neshoz.Quiz222.model.Answer"></mapping>
- <mapping class="home.neshoz.Quiz222.model.Question"></mapping>
- </session-factory>
- </hibernate-configuration>
- package home.neshoz.Quiz222.resources;
- import java.util.ArrayList;
- import java.util.List;
- import javax.ws.rs.Consumes;
- import javax.ws.rs.GET;
- import javax.ws.rs.Path;
- import javax.ws.rs.PathParam;
- import javax.ws.rs.Produces;
- import javax.ws.rs.core.MediaType;
- import home.neshoz.Quiz222.model.Question;
- import home.neshoz.Quiz222.services.QuestionService;
- @Path("/questions")
- public class QuestionResource
- {
- private QuestionService questionService = new QuestionService();
- @GET
- @Produces(MediaType.APPLICATION_JSON)
- @Consumes(MediaType.APPLICATION_JSON)
- public List<Question> getAllQuestions()
- {
- return questionService.getAllQuestions();
- }
- @GET
- @Produces(MediaType.APPLICATION_JSON)
- @Path("/{questionId}")
- public Question getQuestion(@PathParam("questionId") int id)
- {
- return questionService.getQuestion(id);
- }
- }
- package home.neshoz.Quiz222.services;
- import java.util.Collection;
- import java.util.List;
- import java.util.Set;
- import org.hibernate.Session;
- import org.hibernate.SessionFactory;
- import home.neshoz.Quiz222.HibernateTools.HibernateUtil;
- //import home.neshoz.Quiz222.model.Answer;
- import home.neshoz.Quiz222.model.Question;
- public class QuestionService
- {
- private SessionFactory sessionFactory;
- private Session session;
- public List<Question> getAllQuestions()
- {
- sessionFactory = HibernateUtil.getSessionFactory();
- session = sessionFactory.openSession();
- session.beginTransaction();
- List<Question> questionList = session.createCriteria(Question.class).list();
- session.getTransaction().commit();
- return questionList;
- }
- public Question getQuestion(int id)
- {
- sessionFactory = HibernateUtil.getSessionFactory();
- session = sessionFactory.openSession();
- session.beginTransaction();
- Question question = (Question)session.get(Question.class, id);
- session.getTransaction().commit();
- //session.close();
- return question;
- }
- public Question addQuestion(Question question)
- {
- sessionFactory = HibernateUtil.getSessionFactory();
- session = sessionFactory.openSession();
- session.beginTransaction();
- session.save(question);
- session.getTransaction().commit();
- session.close();
- return question;
- }
- public Question editQuestion(int id, String updatedQuestion)
- {
- sessionFactory = HibernateUtil.getSessionFactory();
- session = sessionFactory.openSession();
- session.beginTransaction();
- Question question = (Question)session.get(Question.class, id);
- question.setQuestion(updatedQuestion);
- session.update(question);
- session.getTransaction().commit();
- session.close();
- return question;
- }
- public Question deleteQuestion(int id)
- {
- sessionFactory = HibernateUtil.getSessionFactory();
- session = sessionFactory.openSession();
- session.beginTransaction();
- Question question = (Question)session.get(Question.class, id);
- session.delete(question);
- session.getTransaction().commit();
- session.close();
- return question;
- }
- }
- package home.neshoz.Quiz222.model;
- import java.io.Serializable;
- import java.util.ArrayList;
- import java.util.Collection;
- import java.util.HashSet;
- import java.util.Set;
- import javax.persistence.CascadeType;
- import javax.persistence.Column;
- import javax.persistence.Entity;
- import javax.persistence.FetchType;
- import javax.persistence.GeneratedValue;
- import javax.persistence.Id;
- import javax.persistence.ManyToMany;
- import javax.persistence.OneToMany;
- import javax.persistence.Table;
- import javax.xml.bind.annotation.XmlRootElement;
- @XmlRootElement
- @Entity
- @Table(name = "Questions")
- public class Question implements Serializable
- {
- private static final long serialVersionUID = -2036702455753474479L;
- @Id
- @GeneratedValue
- @Column(name = "Id")
- private int id;
- private String question;
- @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
- private Set<Answer> answerList = new HashSet<Answer>();
- public Question()
- {
- }
- public Question(String question)
- {
- this.question = question;
- }
- public int getId()
- {
- return id;
- }
- public void setId(int id)
- {
- this.id = id;
- }
- public String getQuestion()
- {
- return question;
- }
- public void setQuestion(String question)
- {
- this.question = question;
- }
- public Set<Answer> getAnswerList()
- {
- return answerList;
- }
- public void setAnswerList(Set<Answer> answerList)
- {
- this.answerList = answerList;
- }
- }
- package home.neshoz.Quiz222.model;
- import java.io.Serializable;
- import javax.persistence.Column;
- import javax.persistence.Entity;
- import javax.persistence.FetchType;
- import javax.persistence.GeneratedValue;
- import javax.persistence.Id;
- import javax.persistence.JoinColumn;
- import javax.persistence.ManyToMany;
- import javax.persistence.ManyToOne;
- import javax.persistence.Table;
- import javax.xml.bind.annotation.XmlRootElement;
- @XmlRootElement
- @Entity
- @Table(name = "Answers")
- public class Answer implements Serializable
- {
- private static final long serialVersionUID = 2598377936366814345L;
- @Id
- @GeneratedValue
- @Column(name = "Id")
- private int id;
- @Column(name = "Answer")
- private String answer;
- @Column(name = "correctAnswer")
- private String correctAnswer;
- @ManyToOne(fetch = FetchType.LAZY)
- private Question question;
- public Answer()
- {
- }
- public Answer(String answer)
- {
- this.answer = answer;
- }
- public Question getQuestion()
- {
- return question;
- }
- public void setQuestion(Question question)
- {
- this.question = question;
- }
- public int getAnswerId()
- {
- return id;
- }
- public void setAnswerId(int answerId)
- {
- this.id = answerId;
- }
- public String getAnswer()
- {
- return answer;
- }
- public void setAnswer(String answer)
- {
- this.answer = answer;
- }
- public String getCorrectAnswer()
- {
- return correctAnswer;
- }
- public void setCorrectAnswer(String correctAnswer)
- {
- this.correctAnswer = correctAnswer;
- }
- }
- package home.neshoz.Quiz222.HibernateTools;
- import org.hibernate.SessionFactory;
- import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
- import org.hibernate.cfg.Configuration;
- import org.hibernate.service.ServiceRegistry;
- public class HibernateUtil
- {
- private static SessionFactory sessionFactory;
- public static SessionFactory getSessionFactory()
- {
- if (sessionFactory == null)
- {
- // loads configuration and mappings
- Configuration configuration = new Configuration();
- configuration.configure();
- ServiceRegistry serviceRegistry
- = new StandardServiceRegistryBuilder()
- .applySettings(configuration.getProperties()).build();
- // builds a session factory from the service registry
- sessionFactory = configuration.buildSessionFactory(serviceRegistry);
- }
- return sessionFactory;
- }
- }
- package home.neshoz.Quiz222.HibernateDemo;
- import org.hibernate.Session;
- import org.hibernate.SessionFactory;
- import home.neshoz.Quiz222.HibernateTools.HibernateUtil;
- import home.neshoz.Quiz222.model.Answer;
- import home.neshoz.Quiz222.model.Question;
- public class HibernateInsertDemo
- {
- private static SessionFactory sessionFactory;
- private static Session session;
- public static void main(String[] args)
- {
- Question q = new Question("F1");
- Question q2 = new Question("F2");
- Answer a1 = new Answer("A1");
- Answer a2 = new Answer("A2");
- Answer a3 = new Answer("A3");
- Answer a4 = new Answer("A4");
- q.getAnswerList().add(a1);
- q.getAnswerList().add(a2);
- q2.getAnswerList().add(a3);
- q2.getAnswerList().add(a4);
- sessionFactory = HibernateUtil.getSessionFactory();
- session = sessionFactory.openSession();
- session.beginTransaction();
- session.save(q);
- session.save(q2);
- session.getTransaction().commit();
- session.close();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement