Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.jcg.jpa.mappedBy;
- import java.io.Serializable;
- import java.util.ArrayList;
- import java.util.Collection;
- import javax.persistence.CascadeType;
- import javax.persistence.Column;
- import javax.persistence.Entity;
- import javax.persistence.FetchType;
- import javax.persistence.GeneratedValue;
- import javax.persistence.GenerationType;
- import javax.persistence.Id;
- import javax.persistence.OneToMany;
- import javax.persistence.Table;
- @Entity
- @Table(name = "CONVERSATION_TABLE")
- public class Conversation implements Serializable {
- private static final long serialVersionUID = 1L;
- @Id
- @Column(name = "CONV_ID")
- @GeneratedValue(strategy = GenerationType.IDENTITY)
- private int conversationId;
- @Column(name = "CONV_NAME")
- private String name;
- @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL, mappedBy="conversation")
- private Collection<Question> questions = new ArrayList<Question>();
- public Conversation() { }
- public int getConversationId() {
- return conversationId;
- }
- public void setConversationId(int conversationId) {
- this.conversationId = conversationId;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public Collection<Question> getQuestions() {
- return questions;
- }
- public void setQuestions(Collection<Question> questions) {
- this.questions = questions;
- }
- @Override
- public String toString() {
- return "Employee [conversationId=" + conversationId + ", name=" + name + "]";
- }
- }
- package com.jcg.jpa.mappedBy;
- import java.io.Serializable;
- import javax.persistence.Column;
- import javax.persistence.Entity;
- import javax.persistence.GeneratedValue;
- import javax.persistence.GenerationType;
- import javax.persistence.Id;
- import javax.persistence.JoinColumn;
- import javax.persistence.ManyToOne;
- import javax.persistence.Table;
- @Entity
- @Table(name = "QUESTION_TABLE")
- public class Question implements Serializable {
- private static final long serialVersionUID = 1L;
- @Id
- @Column(name = "id")
- @GeneratedValue(strategy = GenerationType.IDENTITY)
- private int id;
- @ManyToOne
- @JoinColumn(name = "CONVERSATION_CONV_ID", nullable = false)
- private Conversation conversation;
- @Column(name = "QUESTION_TEXT")
- private String questionText;
- @Column(name = "ANSWER_TEXT")
- private String answerText;
- public Question() { }
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- public String getQuestionText() {
- return questionText;
- }
- public void setQuestionText(String questionText) {
- this.questionText = questionText;
- }
- public String getAnswerText() {
- return answerText;
- }
- public void setAnswerText(String answerText) {
- this.answerText = answerText;
- }
- public Conversation getConversation() {
- return conversation;
- }
- public void setConversation(Conversation conversation) {
- this.conversation = conversation;
- }
- @Override
- public String toString() {
- return "Question [id=" + id + ", questionText=" + questionText
- + ", answerText=" + answerText +"]";
- }
- }
- <?xml version="1.0" encoding="UTF-8"?>
- <persistence version="2.1"
- xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
- <persistence-unit name="JPAMappedbyExample" transaction-type="RESOURCE_LOCAL">
- <class>com.jcg.jpa.mappedBy.Conversation</class>
- <class>com.jcg.jpa.mappedBy.Question</class>
- <!-- Configuring The Database Connection Details -->
- <properties>
- <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
- <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/jpatest" />
- <property name="javax.persistence.jdbc.user" value="root" />
- <property name="javax.persistence.jdbc.password" value="qwerty" />
- </properties>
- </persistence-unit>
- package com.jcg.jpa.mappedBy;
- import java.util.ArrayList;
- import java.util.List;
- import javax.persistence.EntityManager;
- import javax.persistence.EntityManagerFactory;
- import javax.persistence.Persistence;
- public class Main {
- private static final EntityManagerFactory emFactoryObj;
- private static final String PERSISTENCE_UNIT_NAME = "JPAMappedbyExample";
- static {
- emFactoryObj = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME);
- }
- // This Method Is Used To Retrieve The 'EntityManager' Object
- public static EntityManager getEntityManager() {
- return emFactoryObj.createEntityManager();
- }
- private static void insertRecords() {
- EntityManager entityMgrObj = getEntityManager();
- if (null != entityMgrObj) {
- entityMgrObj.getTransaction().begin();
- Conversation conv = new Conversation();
- conv.setName("Discussion about something");
- Question question1 = new Question();
- question1.setQuestionText("2 plus 2");
- question1.setAnswerText("four");
- question1.setConversation(conv);
- Question question2 = new Question();
- question2.setQuestionText("what is Your name");
- question2.setAnswerText("Adam");
- question2.setConversation(conv);
- List<Question> questions = new ArrayList<Question>();
- questions.add(question1);
- questions.add(question2);
- conv.setQuestions(questions);
- entityMgrObj.persist(conv);
- entityMgrObj.getTransaction().commit();
- entityMgrObj.clear();
- System.out.println("Record Successfully Inserted In The Database");
- }
- }
- public static void main(String[] args) {
- insertRecords();
- }
- }
- question1.setConversation(conv);
- question2.setConversation(conv);
- conv.setQuestions(questions);
- question1.setConversation(conv);
- question2.setConversation(conv);
- @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL, mappedBy="conversation")
- private Collection<Question> questions = new ArrayList<Question>();
Add Comment
Please, Sign In to add comment