add rest tutorials
diff --git a/hibernate-tutorial/src/main/java/com/supwisdom/tutorial/hibernate/manytomany/bidirection/Many2ManyBiTest.java b/hibernate-tutorial/src/main/java/com/supwisdom/tutorial/hibernate/manytomany/bidirection/Many2ManyBiTest.java
index f009a83..e0b8557 100644
--- a/hibernate-tutorial/src/main/java/com/supwisdom/tutorial/hibernate/manytomany/bidirection/Many2ManyBiTest.java
+++ b/hibernate-tutorial/src/main/java/com/supwisdom/tutorial/hibernate/manytomany/bidirection/Many2ManyBiTest.java
@@ -1,5 +1,10 @@
package com.supwisdom.tutorial.hibernate.manytomany.bidirection;
+import org.hibernate.Session;
+import org.hibernate.SessionFactory;
+
+import com.supwisdom.tutorial.hibernate.util.HibernateUtil;
+
/**
* 一个学生有多个老师,一个老师又有多个学生,他们之间互相感知,因此是双向多对多关系
* @author qianjia
@@ -7,4 +12,75 @@
*/
public class Many2ManyBiTest {
+ public static void main(String[] args) {
+ SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
+ try {
+ /**
+ * 新建老师和学生
+ */
+ Session session = sessionFactory.openSession();
+ session.beginTransaction();
+ {
+ /**
+ * TODO 留给你的作业
+ */
+ showDatas(session);
+ }
+ session.getTransaction().commit();
+ session.close();
+
+ /**
+ * 把学生放到老师里
+ */
+ session = sessionFactory.openSession();
+ session.beginTransaction();
+ {
+ /**
+ * TODO 留给你的作业
+ */
+ showDatas(session);
+ }
+ session.getTransaction().commit();
+ session.close();
+
+ /**
+ * 删除老师
+ */
+ session = sessionFactory.openSession();
+ session.beginTransaction();
+ {
+ /**
+ * TODO 留给你的作业
+ * 需要注意:必须确保没有任何学生引用该老师才行
+ */
+ showDatas(session);
+ }
+ session.getTransaction().commit();
+ session.close();
+
+ /**
+ * 删除学生
+ */
+ session = sessionFactory.openSession();
+ session.beginTransaction();
+ {
+ /**
+ * TODO 留给你的作业
+ * 需要注意:必须确保没有任何老师引用该学生才行
+ */
+ showDatas(session);
+ }
+ session.getTransaction().commit();
+ session.close();
+ } finally {
+ sessionFactory.close();
+ }
+
+ }
+
+ public static void showDatas(Session session) {
+ /**
+ * TODO 留给你的作业,将那个男孩暗恋哪个女孩打印出来
+ */
+ }
}
diff --git a/hibernate-tutorial/src/main/java/com/supwisdom/tutorial/hibernate/manytomany/unidirection/Boy.java b/hibernate-tutorial/src/main/java/com/supwisdom/tutorial/hibernate/manytomany/unidirection/Boy.java
deleted file mode 100644
index f19fc47..0000000
--- a/hibernate-tutorial/src/main/java/com/supwisdom/tutorial/hibernate/manytomany/unidirection/Boy.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package com.supwisdom.tutorial.hibernate.manytomany.unidirection;
-
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.Table;
-
-import org.hibernate.annotations.GenericGenerator;
-
-@Entity
-@Table(name="BOYS")
-public class Boy {
-
- private Long id;
- private int age;
- private String firstname;
- private String lastname;
-
- public Boy() {
- }
-
- @Id
- @GeneratedValue(generator = "increment")
- @GenericGenerator(name = "increment", strategy = "increment")
- public Long getId() {
- return id;
- }
-
- public void setId(Long id) {
- this.id = id;
- }
-
- public int getAge() {
- return age;
- }
-
- public void setAge(int age) {
- this.age = age;
- }
-
- public String getFirstname() {
- return firstname;
- }
-
- public void setFirstname(String firstname) {
- this.firstname = firstname;
- }
-
- public String getLastname() {
- return lastname;
- }
-
- public void setLastname(String lastname) {
- this.lastname = lastname;
- }
-
-}
diff --git a/hibernate-tutorial/src/main/java/com/supwisdom/tutorial/hibernate/manytomany/unidirection/Girl.java b/hibernate-tutorial/src/main/java/com/supwisdom/tutorial/hibernate/manytomany/unidirection/Girl.java
deleted file mode 100644
index 23406a0..0000000
--- a/hibernate-tutorial/src/main/java/com/supwisdom/tutorial/hibernate/manytomany/unidirection/Girl.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package com.supwisdom.tutorial.hibernate.manytomany.unidirection;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.JoinTable;
-import javax.persistence.ManyToMany;
-import javax.persistence.Table;
-
-import org.hibernate.annotations.GenericGenerator;
-
-@Entity
-@Table(name="GIRLS")
-public class Girl {
-
- private Long id;
- private int age;
- private String firstname;
- private String lastname;
- private Set<Boy> boyFriends = new HashSet<Boy>();
-
- public Girl() {
- }
-
- @Id
- @GeneratedValue(generator = "increment")
- @GenericGenerator(name = "increment", strategy = "increment")
- public Long getId() {
- return id;
- }
-
- public void setId(Long id) {
- this.id = id;
- }
-
- public int getAge() {
- return age;
- }
-
- public void setAge(int age) {
- this.age = age;
- }
-
- public String getFirstname() {
- return firstname;
- }
-
- public void setFirstname(String firstname) {
- this.firstname = firstname;
- }
-
- public String getLastname() {
- return lastname;
- }
-
- public void setLastname(String lastname) {
- this.lastname = lastname;
- }
-
- @ManyToMany
- @JoinTable(name="GIRL_BOY_FRIENDS")
- public Set<Boy> getBoyFriends() {
- return boyFriends;
- }
-
- public void setBoyFriends(Set<Boy> boyFriends) {
- this.boyFriends = boyFriends;
- }
-
-
-}
diff --git a/hibernate-tutorial/src/main/java/com/supwisdom/tutorial/hibernate/manytomany/unidirection/Many2ManyUniTest.java b/hibernate-tutorial/src/main/java/com/supwisdom/tutorial/hibernate/manytomany/unidirection/Many2ManyUniTest.java
deleted file mode 100644
index 3e314d9..0000000
--- a/hibernate-tutorial/src/main/java/com/supwisdom/tutorial/hibernate/manytomany/unidirection/Many2ManyUniTest.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.supwisdom.tutorial.hibernate.manytomany.unidirection;
-
-/**
- *
- * @author qianjia
- *
- */
-public class Many2ManyUniTest {
-
-}
diff --git a/hibernate-tutorial/src/main/java/com/supwisdom/tutorial/hibernate/manytoone/Many2OneTest.java b/hibernate-tutorial/src/main/java/com/supwisdom/tutorial/hibernate/manytoone/Many2OneTest.java
index 3147114..29db231 100644
--- a/hibernate-tutorial/src/main/java/com/supwisdom/tutorial/hibernate/manytoone/Many2OneTest.java
+++ b/hibernate-tutorial/src/main/java/com/supwisdom/tutorial/hibernate/manytoone/Many2OneTest.java
@@ -1,5 +1,10 @@
package com.supwisdom.tutorial.hibernate.manytoone;
+import org.hibernate.Session;
+import org.hibernate.SessionFactory;
+
+import com.supwisdom.tutorial.hibernate.util.HibernateUtil;
+
/**
* 有若干害羞的男孩暗恋同一个漂亮姑娘,但是姑娘感知不到暗恋者的存在,因此是多对一关系
* @author qianjia
@@ -7,4 +12,60 @@
*/
public class Many2OneTest {
+ public static void main(String[] args) {
+ SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
+ try {
+ /**
+ * 新建男孩和女孩
+ */
+ Session session = sessionFactory.openSession();
+ session.beginTransaction();
+ {
+ /**
+ * TODO 留给你的作业
+ */
+ showDatas(session);
+ }
+ session.getTransaction().commit();
+ session.close();
+
+ /**
+ * 删除男孩
+ */
+ session = sessionFactory.openSession();
+ session.beginTransaction();
+ {
+ /**
+ * TODO 留给你的作业
+ */
+ showDatas(session);
+ }
+ session.getTransaction().commit();
+ session.close();
+
+ /**
+ * 删除女孩
+ */
+ session = sessionFactory.openSession();
+ session.beginTransaction();
+ {
+ /**
+ * TODO 留给你的作业
+ * 需要注意:必须确保没有任何男孩引用女孩才能够删除女孩
+ */
+ showDatas(session);
+ }
+ session.getTransaction().commit();
+ session.close();
+ } finally {
+ sessionFactory.close();
+ }
+
+ }
+
+ public static void showDatas(Session session) {
+ /**
+ * TODO 留给你的作业,将那个男孩暗恋哪个女孩打印出来
+ */
+ }
}
diff --git a/hibernate-tutorial/src/main/java/com/supwisdom/tutorial/hibernate/manytoone/PrettyGirl.java b/hibernate-tutorial/src/main/java/com/supwisdom/tutorial/hibernate/manytoone/PrettyGirl.java
index 8b3ffc2..807ff3e 100644
--- a/hibernate-tutorial/src/main/java/com/supwisdom/tutorial/hibernate/manytoone/PrettyGirl.java
+++ b/hibernate-tutorial/src/main/java/com/supwisdom/tutorial/hibernate/manytoone/PrettyGirl.java
@@ -2,4 +2,24 @@
public class PrettyGirl {
+ private Long id;
+
+ private String name;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
}
diff --git a/hibernate-tutorial/src/main/java/com/supwisdom/tutorial/hibernate/manytoone/ShyBoy.java b/hibernate-tutorial/src/main/java/com/supwisdom/tutorial/hibernate/manytoone/ShyBoy.java
index cd02ebf..d6ebd9e 100644
--- a/hibernate-tutorial/src/main/java/com/supwisdom/tutorial/hibernate/manytoone/ShyBoy.java
+++ b/hibernate-tutorial/src/main/java/com/supwisdom/tutorial/hibernate/manytoone/ShyBoy.java
@@ -2,4 +2,34 @@
public class ShyBoy {
+ private Long id;
+
+ private String name;
+
+ private PrettyGirl prettyGirl;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public PrettyGirl getPrettyGirl() {
+ return prettyGirl;
+ }
+
+ public void setPrettyGirl(PrettyGirl prettyGirl) {
+ this.prettyGirl = prettyGirl;
+ }
+
}