Java Tutorial/Hibernate/Save

Материал из Java эксперт
Перейти к: навигация, поиск

Flush a Session

File: Main.java



   <source lang="java">

import org.hibernate.Session; public class Main {

 public static void main(String[] args) throws Exception {
   HibernateUtil hibernateUtil = new HibernateUtil();
   hibernateUtil.executeSQLCommand("create table survey (id int,name varchar);");
   Session session = hibernateUtil.getSession();
   Survey survey = new Survey();
   survey.setName("Survey");
   System.out.println(survey.getId());
   
   session.save(survey);
   session.flush();
   
   System.out.println(survey.getId());
   Survey surveyInSession = (Survey) session.get(Survey.class, survey.getId());
   System.out.println(surveyInSession.getName());
   session.close();
   hibernateUtil.checkData("select * from survey");
 }

}</source>





Get Row Count With Projection

File: Main.java



   <source lang="java">

import java.util.Date; import java.util.Iterator; import java.util.List; import org.hibernate.Criteria; import org.hibernate.Session; import org.hibernate.criterion.Projections; public class Main {

 public static void main(String[] args) throws Exception {
   HibernateUtil hibernateUtil = new HibernateUtil();
   hibernateUtil
       .executeSQLCommand("create table survey (id int,name varchar, purchasedate date);");
   Session session = hibernateUtil.getSession();
   Survey survey = new Survey();
   survey.setName("Survey");
   survey.setPurchaseDate(new Date());
   session.save(survey);
   
   survey = new Survey();
   survey.setName("Survey1");
   survey.setPurchaseDate(new Date());    
   session.save(survey);
   
   session.flush();
   
   Criteria crit = session.createCriteria(Survey.class);
   crit.setProjection(Projections.rowCount());
   
   
   List results = crit.list();
   System.out.println(results);
   
   session.close();
   hibernateUtil.checkData("select * from survey");
 }

}</source>





Save date type data

File: Main.java



   <source lang="java">

import java.util.Date; import org.hibernate.Session; public class Main {

 public static void main(String[] args) throws Exception {
   HibernateUtil hibernateUtil = new HibernateUtil();
   hibernateUtil.executeSQLCommand("create table survey (id int,name varchar, purchasedate date);");
   Session session = hibernateUtil.getSession();
   Survey survey = new Survey();
   survey.setName("Survey");
   survey.setPurchaseDate(new Date());
   System.out.println(survey.getId());
   
   session.save(survey);
   session.flush();
   
   System.out.println(survey.getId());
   Survey surveyInSession = (Survey) session.get(Survey.class, survey.getId());
   System.out.println(surveyInSession.getName());
   session.close();
   hibernateUtil.checkData("select * from survey");
 }

}</source>





Save entity with Session

File: Main.java



   <source lang="java">

import org.hibernate.Session; public class Main {

 public static void main(String[] args) throws Exception {
   HibernateUtil hibernateUtil = new HibernateUtil();
   hibernateUtil.executeSQLCommand("create table survey (id int,name varchar);");
   Session session = hibernateUtil.getSession();
   Survey survey = new Survey();
   survey.setName("Survey");
   System.out.println(survey.getId());
   
   session.save(survey);
   session.flush();
   
   System.out.println(survey.getId());
   Survey surveyInSession = (Survey) session.get(Survey.class, survey.getId());
   System.out.println(surveyInSession.getName());
   session.close();
   hibernateUtil.checkData("select * from survey");
 }

}</source>





Save linked objects twice

File: Main.java



   <source lang="java">

import java.util.HashSet; import org.hibernate.Session; public class Main {

 public static void main(String[] args) throws Exception {
   HibernateUtil hibernateUtil = new HibernateUtil();
   hibernateUtil
       .executeSQLCommand("create table speakers (uid int, firstName varchar,lastName varchar, event_id int);");
   hibernateUtil
       .executeSQLCommand("create table locations (uid int, name varchar, address varchar,  event_id int);");
   hibernateUtil
       .executeSQLCommand("create table attendees (uid int, firstName varchar, lastName varchar,  event_id int);");
   hibernateUtil
       .executeSQLCommand("create table events (uid int , name varchar, start_date date, duration integer,location_id int);");
   Session session = hibernateUtil.getSession();
   Event e = new Event();
   e.setName("testSave");
   Location l = new Location();
   l.setName("building 1");
   e.setLocation(l);
   e.setSpeakers(new HashSet());
   e.getSpeakers().add(new Speaker("John", "Doe"));
   e.setAttendees(new HashSet());
   e.getAttendees().add(new Attendee("John", "Smith"));
   session.save(l);
   session.save(e);
   
   session.close();
   hibernateUtil.checkData("select * from events");
   hibernateUtil.checkData("select * from speakers");
   hibernateUtil.checkData("select * from locations");
   hibernateUtil.checkData("select * from attendees");
 }

}</source>