Guest User

Untitled

a guest
Feb 15th, 2018
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.84 KB | None | 0 0
  1. package com.jcg.jpa.mappedBy;
  2.  
  3. import java.io.Serializable;
  4. import java.util.ArrayList;
  5. import java.util.Collection;
  6.  
  7. import javax.persistence.CascadeType;
  8. import javax.persistence.Column;
  9. import javax.persistence.Entity;
  10. import javax.persistence.FetchType;
  11. import javax.persistence.GeneratedValue;
  12. import javax.persistence.GenerationType;
  13. import javax.persistence.Id;
  14. import javax.persistence.OneToMany;
  15. import javax.persistence.Table;
  16.  
  17. @Entity
  18. @Table(name = "CONVERSATION_TABLE")
  19. public class Conversation implements Serializable {
  20.  
  21. private static final long serialVersionUID = 1L;
  22.  
  23. @Id
  24. @Column(name = "CONV_ID")
  25. @GeneratedValue(strategy = GenerationType.IDENTITY)
  26. private int conversationId;
  27.  
  28. @Column(name = "CONV_NAME")
  29. private String name;
  30.  
  31. @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL, mappedBy="conversation")
  32. private Collection<Question> questions = new ArrayList<Question>();
  33.  
  34. public Conversation() { }
  35.  
  36. public int getConversationId() {
  37. return conversationId;
  38. }
  39.  
  40. public void setConversationId(int conversationId) {
  41. this.conversationId = conversationId;
  42. }
  43.  
  44. public String getName() {
  45. return name;
  46. }
  47.  
  48. public void setName(String name) {
  49. this.name = name;
  50. }
  51.  
  52. public Collection<Question> getQuestions() {
  53. return questions;
  54. }
  55.  
  56. public void setQuestions(Collection<Question> questions) {
  57. this.questions = questions;
  58. }
  59.  
  60. @Override
  61. public String toString() {
  62. return "Employee [conversationId=" + conversationId + ", name=" + name + "]";
  63. }
  64. }
  65.  
  66. package com.jcg.jpa.mappedBy;
  67.  
  68. import java.io.Serializable;
  69.  
  70. import javax.persistence.Column;
  71. import javax.persistence.Entity;
  72. import javax.persistence.GeneratedValue;
  73. import javax.persistence.GenerationType;
  74. import javax.persistence.Id;
  75. import javax.persistence.JoinColumn;
  76. import javax.persistence.ManyToOne;
  77. import javax.persistence.Table;
  78.  
  79. @Entity
  80. @Table(name = "QUESTION_TABLE")
  81. public class Question implements Serializable {
  82.  
  83. private static final long serialVersionUID = 1L;
  84.  
  85. @Id
  86. @Column(name = "id")
  87. @GeneratedValue(strategy = GenerationType.IDENTITY)
  88. private int id;
  89.  
  90. @ManyToOne
  91. @JoinColumn(name = "CONVERSATION_CONV_ID", nullable = false)
  92. private Conversation conversation;
  93.  
  94.  
  95. @Column(name = "QUESTION_TEXT")
  96. private String questionText;
  97.  
  98. @Column(name = "ANSWER_TEXT")
  99. private String answerText;
  100.  
  101.  
  102.  
  103. public Question() { }
  104.  
  105. public int getId() {
  106. return id;
  107. }
  108.  
  109. public void setId(int id) {
  110. this.id = id;
  111. }
  112.  
  113. public String getQuestionText() {
  114. return questionText;
  115. }
  116.  
  117. public void setQuestionText(String questionText) {
  118. this.questionText = questionText;
  119. }
  120.  
  121. public String getAnswerText() {
  122. return answerText;
  123. }
  124.  
  125. public void setAnswerText(String answerText) {
  126. this.answerText = answerText;
  127. }
  128.  
  129. public Conversation getConversation() {
  130. return conversation;
  131. }
  132.  
  133. public void setConversation(Conversation conversation) {
  134. this.conversation = conversation;
  135. }
  136.  
  137. @Override
  138. public String toString() {
  139. return "Question [id=" + id + ", questionText=" + questionText
  140. + ", answerText=" + answerText +"]";
  141. }
  142. }
  143.  
  144. <?xml version="1.0" encoding="UTF-8"?>
  145. <persistence version="2.1"
  146. xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  147. xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
  148. <persistence-unit name="JPAMappedbyExample" transaction-type="RESOURCE_LOCAL">
  149. <class>com.jcg.jpa.mappedBy.Conversation</class>
  150. <class>com.jcg.jpa.mappedBy.Question</class>
  151.  
  152. <!-- Configuring The Database Connection Details -->
  153. <properties>
  154. <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
  155. <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/jpatest" />
  156. <property name="javax.persistence.jdbc.user" value="root" />
  157. <property name="javax.persistence.jdbc.password" value="qwerty" />
  158.  
  159. </properties>
  160. </persistence-unit>
  161.  
  162. package com.jcg.jpa.mappedBy;
  163.  
  164. import java.util.ArrayList;
  165. import java.util.List;
  166.  
  167. import javax.persistence.EntityManager;
  168. import javax.persistence.EntityManagerFactory;
  169. import javax.persistence.Persistence;
  170.  
  171. public class Main {
  172.  
  173. private static final EntityManagerFactory emFactoryObj;
  174. private static final String PERSISTENCE_UNIT_NAME = "JPAMappedbyExample";
  175.  
  176. static {
  177. emFactoryObj = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME);
  178. }
  179.  
  180. // This Method Is Used To Retrieve The 'EntityManager' Object
  181. public static EntityManager getEntityManager() {
  182. return emFactoryObj.createEntityManager();
  183. }
  184.  
  185. private static void insertRecords() {
  186. EntityManager entityMgrObj = getEntityManager();
  187. if (null != entityMgrObj) {
  188. entityMgrObj.getTransaction().begin();
  189.  
  190. Conversation conv = new Conversation();
  191. conv.setName("Discussion about something");
  192.  
  193. Question question1 = new Question();
  194. question1.setQuestionText("2 plus 2");
  195. question1.setAnswerText("four");
  196. question1.setConversation(conv);
  197.  
  198. Question question2 = new Question();
  199. question2.setQuestionText("what is Your name");
  200. question2.setAnswerText("Adam");
  201. question2.setConversation(conv);
  202.  
  203. List<Question> questions = new ArrayList<Question>();
  204. questions.add(question1);
  205. questions.add(question2);
  206. conv.setQuestions(questions);
  207.  
  208. entityMgrObj.persist(conv);
  209. entityMgrObj.getTransaction().commit();
  210.  
  211. entityMgrObj.clear();
  212. System.out.println("Record Successfully Inserted In The Database");
  213. }
  214. }
  215.  
  216.  
  217.  
  218. public static void main(String[] args) {
  219. insertRecords();
  220.  
  221. }
  222. }
  223.  
  224. question1.setConversation(conv);
  225. question2.setConversation(conv);
  226.  
  227. conv.setQuestions(questions);
  228.  
  229. question1.setConversation(conv);
  230. question2.setConversation(conv);
  231.  
  232. @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL, mappedBy="conversation")
  233. private Collection<Question> questions = new ArrayList<Question>();
Add Comment
Please, Sign In to add comment