Results 1 to 4 of 4

Thread: Hibernate dynamic update query

  1. #1
    Join Date
    May 2008
    Posts
    43

    Hibernate dynamic update query

    Hello,

    I am using Dynamic-update property in mapping file with Hibernate to update part of database. But this dynamic update query is not working can anyone help me out with this?

    Hope there is some way to do such.

    Thanks

  2. #2
    Join Date
    May 2008
    Posts
    44

    Re: Hibernate dynamic update query

    Hibernate Update Query

    Here is the code of our java file (UpdateExample.java), where we will update a field name "InsuranceName" with a value="Jivan Dhara" from a row of the insurance table.

    Code:
    package roseindia.tutorial.hibernate;
    
    import java.util.Date;
    
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.Transaction;
    import org.hibernate.cfg.Configuration;
    
    public class UpdateExample {
      /**
       * @param args
       */
      public static void main(String[] args) {
        // TODO Auto-generated method stub
        Session sess = null;
        try {
          SessionFactory fact = new Configuration()
    .configure().buildSessionFactory();
          sess = fact.openSession();
          Transaction tr = sess.beginTransaction();
          Insurance ins = (Insurance)sess.get
    (Insurance.class, new Long(1));
          ins.setInsuranceName("Jivan Dhara");
          ins.setInvestementAmount(20000);
          ins.setInvestementDate(new Date());
          sess.update(ins);
          tr.commit();
          sess.close();
          System.out.println("Update successfully!");
        }
        catch(Exception e){
          System.out.println(e.getMessage());
        }
      }
    }

  3. #3
    Join Date
    May 2008
    Posts
    41

    Re: Hibernate dynamic update query

    Update HQL

    Code:
    /////////////////////////////////////////////////////////////////////////
    import java.util.*;
    
    import java.sql.*;
    import org.hibernate.*;
    import org.hibernate.criterion.*;
    
    public class Main {
      
      public static void main(String[] args) {
        HibernateUtil.setup("create table Supplier ( id int, name VARCHAR);");
        HibernateUtil.setup("create table Product ( id int, name VARCHAR, description VARCHAR, price double,supplierId int);");
        
        prepareData();
        Session session = HibernateUtil.currentSession();
        
            String sql = "select {supplier.*} from Supplier supplier";
                
            String hql = "update Supplier set name = :newName where name = :name";
            Query query = session.createQuery(hql);
            query.setString("name","Supplier Name 1");
            query.setString("newName","s1");
            int rowCount = query.executeUpdate();
            System.out.println("Rows affected: " + rowCount);
    
            query = session.createQuery("from Supplier");
            List results = query.list();            
    
            displaySupplierList(results);            
        
        
            HibernateUtil.checkData("select * from Supplier");
            HibernateUtil.checkData("select * from Product");
    
      }
        static public void displaySupplierList(List list) {
            Iterator iter = list.iterator();
            if (!iter.hasNext()) {
                System.out.println("No suppliers to display.");
                return;
            }        
            while (iter.hasNext()) {
                Supplier supplier = (Supplier) iter.next();
                String msg = supplier.getName();
                System.out.println(msg);
            }
        }
    
     
    
    
      private static void prepareData(){
            Session session = HibernateUtil.currentSession();
    
            Supplier supplier1 = new Supplier();
            supplier1.setName("Supplier Name 1");
            session.save(supplier1);
            
            Supplier supplier2 = new Supplier();
            supplier2.setName("Supplier Name 2");
            session.save(supplier2);        
            
            Product product1 = new Product("Product 1","Name for Product 1", 2.0);
            product1.setSupplier(supplier1);
            supplier1.getProducts().add(product1);
            session.save(product1);
            
            Product product12 = new Product("Product 2","Name for Product 2", 22.0);
            product12.setSupplier(supplier1);
            supplier1.getProducts().add(product12);        
            session.save(product12);
            
            Product product2 = new Product("Product 3", "Name for Product 3", 30.0);
            product2.setSupplier(supplier2);
            supplier2.getProducts().add(product2);
            session.save(product2);
            
            session.flush();
            HibernateUtil.closeSession();
      }
    }
    
    
    
    
    /////////////////////////////////////////////////////////////////////////
    
    
    public class Product
    {
        private int id;
        private Supplier supplier;
        
        private String name;
        private String description;
        private double price;
        
        public Product()
        {
            super();
        }
        
        public Product(String name, String description, double price)
        {
            super();
            this.name = name;
            this.description = description;
            this.price = price;
        }
        
        public String getDescription()
        {
            return description;
        }
        public void setDescription(String description)
        {
            this.description = description;
        }
        public 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;
        }
     
        public Supplier getSupplier()
        {
            return supplier;
        }
        public void setSupplier(Supplier supplier)
        {
            this.supplier = supplier;
        }
        
        public double getPrice()
        {
            return price;
        }
        public void setPrice(double price)
        {
            this.price = price;
        }
    }

  4. #4
    Join Date
    May 2008
    Posts
    43

    Re: Hibernate dynamic update query

    Thanks for the tutorial & example but can you please tell me what is wrong with my end? may be I have to start again & check where I have goofed up

Similar Threads

  1. DNS dynamic update pending in DHCP
    By levd in forum Windows Server Help
    Replies: 12
    Last Post: 18-01-2012, 12:53 AM
  2. MSP Task Relationship Update Query
    By johndavo in forum Windows Software
    Replies: 1
    Last Post: 30-10-2010, 04:42 AM
  3. Hibernate delete query using criterion
    By NinjaZxR in forum Software Development
    Replies: 4
    Last Post: 23-06-2010, 04:06 PM
  4. Update database with Hibernate
    By CheckMeNot in forum Software Development
    Replies: 3
    Last Post: 10-12-2009, 02:42 PM
  5. MySQL UPDATE Query
    By ANDERS in forum Software Development
    Replies: 2
    Last Post: 10-02-2009, 11:57 AM

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Page generated in 1,713,548,528.64807 seconds with 17 queries