package test; import java.util.ArrayList; import java.util.List; import org.hibernate.Criteria; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.Transaction; import org.hibernate.criterion.Restrictions; import protocol.Data.ChatData.ChatItem.ChatType; import protocol.Data.ChatData.ChatItem.TargetType; import model.Chatting; import model.Group; import model.HibernateSessionFactory; import model.User; public class TestHibernate { public static void main(String args[]){ add(); add2(); query(); query2(); } public static void add(){ Group p = new Group("group1"); // p.setGroupName("group1"); User u1 = new User(); User u2 = new User(); u1.setUserId("user1"); u1.setUserName("name1"); u1.setUserPassword("121"); u2.setUserId("user2"); u2.setUserName("name2"); u2.setUserPassword("122"); List<User> memberList = new ArrayList<User>(); memberList.add(u1); memberList.add(u2); p.setMemberList(memberList); Session session = HibernateSessionFactory.getSession(); Transaction trans = session.beginTransaction(); session.save(u1); session.save(u2); session.save(p); trans.commit(); session.close(); } public static void add2(){ Chatting chat = new Chatting("user1","user2",ChatType.TEXT,"this is a message",new Long(2015040611),0, TargetType.GROUP); Session session = HibernateSessionFactory.getSession(); Transaction trans = session.beginTransaction(); session.save(chat); trans.commit(); session.close(); } public static void query(){ Session session = HibernateSessionFactory.getSession(); Criteria criteria = session.createCriteria(Group.class); criteria.add(Restrictions.eq("groupName", "group1")); List<Group> list = criteria.list(); if(null != list && list.size()>0){ Group group = list.get(0); System.out.println(group.getGroupId()+" "+group.getGroupName()); for(int i=0;i<group.getMemberList().size();i++){ System.out.println(group.getMemberList().get(i)); } } } public static void query2(){ Session session = HibernateSessionFactory.getSession(); Criteria criteria = session.createCriteria(Chatting.class); criteria.add(Restrictions.eq("id",new Long(1))); List list =criteria.list(); if(null != list && list.size()>0){ Chatting chat = (Chatting)list.get(0); System.out.println(chat.getSenderUserId()+" "+chat.getReceiverUserId()+" "+chat.getMessage()); } } public static void query3(){ Session session = HibernateSessionFactory.getSession(); Query query = session.createQuery("SELECT c.id, c.senderUserId,c.receiverUserId,c.chattingType,c.message,c.time"+ ",c.isGroup,c.groupId from Chatting c where id ="+1); List list = query.list(); for(int i=0;i<list.size();i++){ System.out.println("index:"+i); Object []o = (Object[])list.get(i); for(int j=0;j<o.length;j++){ System.out.print(o[j]+" "); } } session.close(); } }