Go Back   TechArena Community > Software > Software Development
Become a Member!
Forgot your username/password?
Tags Active Topics RSS Search Mark Forums Read

Reply
 
Thread Tools Search this Thread
  #1  
Old 01-08-2009
Member
 
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
Reply With Quote
  #2  
Old 01-08-2009
Member
 
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());
    }
  }
}
Reply With Quote
  #3  
Old 01-08-2009
Member
 
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;
    }
}
Reply With Quote
  #4  
Old 01-08-2009
Member
 
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
Reply With Quote
Reply

  TechArena Community > Software > Software Development
Tags: ,



Thread Tools Search this Thread
Search this Thread:

Advanced Search


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


All times are GMT +5.5. The time now is 12:23 PM.