Group. Java object file
package com.model;import java.util.HashSet;import java.util.Set;import javax.persistence.CascadeType;import javax.persistence.Entity;import javax.persistence.FetchType;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.OneToMany;import javax.persistence.Table;@Entity@Table(name="t_group")public class Group {private int id;private String name;private Set<User> users = new HashSet<User>();@OneToMany( cascade={CascadeType.ALL},mappedBy="group",fetch=FetchType.EAGER)public Set<User> getUsers() {return users;}public void setUsers(Set<User> users) {this.users = users;}@Id@GeneratedValuepublic int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}}
========================================================== ========================================================== ========================================================== ===
User. Java object file
package com.model;import javax.persistence.CascadeType;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.ManyToOne;import javax.persistence.Table;@Entity@Table(name="t_user")public class User {private int id;private String name;private Group group;@ManyToOne(cascade={CascadeType.ALL})public Group getGroup() {return group;}public void setGroup(Group group) {this.group = group;}@Id()@GeneratedValuepublic int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}}
========================================================== ========================================================== ========================================================== ==========
This is the JUnit test class, Ug. Java
Import javax. persistence. cascadetype; import Org. hibernate. session; import Org. hibernate. sessionfactory; import Org. hibernate. cfg. annotationconfiguration; import Org. hibernate. tool. hbm2ddl. schemaexport; import Org. JUnit. afterclass; import Org. JUnit. beforeclass; import Org. JUnit. test; import COM. model. *; public class ug {Private Static sessionfactory = NULL; @ beforeclasspublic static void befor Eclass () {sessionfactory = new annotationconfiguration (). configure (). buildsessionfactory (); New schemaexport (New annotationconfiguration (). configure ()). create (false, true) ;}@ testpublic void testdeleteuser () {testsavegroup (); Session session = sessionfactory. getcurrentsession (); Session. begintransaction (); // user u = (User) session. load (user. class, 1); // load is the proxy // get is the direct // session. delete (g); // U. setgroup (NUL L); cascade is cascadetype. All, and the reference is deleted. Session. createquery ("select * from user u where u. ID = 1" cmd.exe cuteupdate (); // hql. 'User' is the class name session. gettransaction (). commit ();}/* @ testpublic void testupdateuser () {testsavegroup (); Session session = sessionfactory. getcurrentsession (); Session. begintransaction (); User G = (User) session. load (user. class, 1); // load is a proxy // get is a direct system. out. println (G. getname (); Session. gettransaction (). commit (); G. setname ("uu2"); Session S = sessionfactory. getcurrentsession (); S. begintransaction (); S. update (g); S. gettransaction (). commit (); system. out. println (G. getname ();} * // * @ testpublic void testgetgroup () {testsavegroup (); Session session = sessionfactory. getcurrentsession (); Session. begintransaction (); group G = (Group) session. get (group. class, 1); Session. gettransaction (). commit (); For (User UU: G. getusers () {system. out. println (uu. getname () ;}} * // * @ testpublic void testgetuser () {session = sessionfactory. getcurrentsession (); Session. begintransaction (); User user1 = (User) session. get (user. class, 1); Session. gettransaction (). commit ();} * // * @ testpublic void testsaveuser () {user u = new user (); U. setname ("U1"); group G = new group (); G. setname ("g1"); U. setgroup (g); Session session = sessionfactory. getcurrentsession (); Session. begintransaction (); // session. save (g); // set 'cascade = {cascadetype in @ manytoone. all }'. cascade sessions. save (U); Session. gettransaction (). commit ();} */@ testpublic void testsavegroup () {group G = new group (); G. setname ("G2"); User U1 = new user (); u1.setname ("U1"); u1.setgroup (g); User U2 = new user (); u2.setname ("u2"); u2.setgroup (g); G. getusers (). add (U1); G. getusers (). add (U2); Session session = sessionfactory. getcurrentsession (); Session. begintransaction (); // session. save (U); // set 'cascade = {cascadetype in @ manytoone. all }'. cascade sessions. save (g); Session. gettransaction (). commit ();}/* @ testpublic void print () {New schemaexport (New annotationconfiguration (). configure ()). create (false, true);} */@ afterclasspublic static void afterclass () {sessionfactory. close ();}}