hibernate query...how to connect two databases...
807589Sep 1 2008 — edited Oct 20 2008hi i m new to hibernate..
i created two tables..
1st table is catalog:
2nd table is acctinfo
//HBM file is :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="hibernate.example.Catalog" table="catalog">
<id name="id" type="integer" column="ID">
<generator class="increment"/>
</id>
<property name="journal" type="string" column="JOURNAL"/>
<property name="publisher" type="string" column="PUBLISHER"/>
<property name="edition" type="string" column="EDITION"/>
<property name="title" type="string" column="TITLE"/>
<property name="author" type="string" column="AUTHOR"/>
<bag name="accinfo" cascade="all" >
<key column="ID"/>
<one-to-many class="hibernate.example.Acctinfo"/>
</bag>
</class>
<class name="hibernate.example.Acctinfo" table="acctinfo">
<id name="id" type="integer" column="ID">
<generator class="increment"/>
</id>
<property name="account" type="string" column="ACCOUNT"/>
<property name="password" type="string" column="PASSWORD"/>
<property name="balance" type="string" column="BALANCE"/>
</class>
</hibernate-mapping>
///******************getter setter file is::****************
package hibernate.example;
public class Acctinfo
{
int id;
String account;
String password;
String balance;
public Acctinfo()
{}
public void setId(int id)
{
this.id = id;
}
public int getId()
{
return id;
}
public void setAccount(String account)
{
this.account = account;
}
public void setPassword(String password)
{
this.password = password;
}
public void setBalance(String balance)
{
this.balance = balance;
}
public String getAccount()
{
return account;
}
public String getBalance()
{
return balance;
}
public String getPassword()
{
return password;
}
}
//********************2nd getter setter file is:***********************
package hibernate.example;
import java.util.List;
public class Catalog
{
int id;
String journal;
String publisher;
String edition;
String title;
String author;
private List accinfo;
public Catalog()
{}
public void setId(int id)
{
this.id = id;
}
public int getId()
{
return id;
}
public void setJournal(String journal)
{
this.journal = journal;
}
public String getJournal()
{
return journal;
}
public void setPublisher(String publisher)
{
this.publisher = publisher;
}
public String getPublisher()
{
return publisher;
}
public void setEdition(String edition)
{
this.edition = edition;
}
public String getEdition()
{
return edition;
}
public void setTitle(String title)
{
this.title = title;
}
public String getTitle()
{
return title;
}
public void setAuthor(String author)
{
this.author = author;
}
public String getAuthor()
{
return author;
}
public void setAccinfo(List accinfo)
{
this.accinfo = accinfo;
}
public List getAccinfo()
{
return accinfo;
}
}
//*************************
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package hibernate.example;
import hibernate.example.Acctinfo;
import hibernate.example.Catalog;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
public class CatalogClient
{
Session session = null;
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
public static void main(String str[])
{
CatalogClient clc = new CatalogClient();
//clc.saveData();
//clc.deleteData();
//clc.showData();
clc.updateData();
}
public void showData()
{
try
{
session =sessionFactory.openSession();
String SQL_QUERY ="select id, journal, publisher, edition, title, author from catalog";
// String SQL_QUERY ="select c.ID, c.JOURNAL, c.PUBLISHER, c.EDITION, c.TITLE, c.AUTHOR, a.ACCOUNT, a.PASSWORD,a.BALANCE from catalog c, ACCTINFO a where c.ID = a.ID";
SQLQuery query = session.createSQLQuery(SQL_QUERY);
System.out.println("*** query : *** "+ query);
//for(ListIterator it=query.list().listIterator();it.hasNext();)
// {
for (ListIterator lit = query.list().listIterator(); lit.hasNext();)
{
Object[] row = (Object[]) lit.next();
/*System.out.println("ID: " + row[0]);
System.out.println("Title: " + row[1]);
System.out.println("Author: " + row[2]);
System.out.println("Isbn: " + row[3]);
System.out.println("Pages: " + row[4]);
System.out.println("Copyright: " + row[5]);
System.out.println("Cost: " + row[6]);
System.out.println("******NEXT****************");
Object[] row = (Object[]) it.next();*/
System.out.println("ID: " + row[0]);
System.out.println("JOURNAL: " + row[1]);
System.out.println("PUBLISHER: " + row[2]);
System.out.println("EDITION: " + row[3]);
System.out.println("TITLE: " + row[4]);
System.out.println("AUTHOR: " + row[5]);
System.out.println("acc: " + row[6]);
System.out.println("pass: " + row[7]);
System.out.println("bal: " + row[8]);
System.out.println("***************************");
}
session.close();
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
}
public void saveData()
{
session =sessionFactory.openSession();
Transaction transaction = null;
transaction = session.beginTransaction();
Catalog catalog = setBean();
//System.out.println("before save");
session.save(catalog);
//System.out.println("after save");
transaction.commit();
session.flush();
session.close();
}
public void updateData()
{
session =sessionFactory.openSession();
Catalog catalog = new Catalog();
catalog.setId(2);
catalog.setAuthor("manoj");
catalog.setJournal("java");
catalog.setEdition("1st");
catalog.setPublisher("indiabulls");
catalog.setTitle("java Servlet");
session.update(catalog);
session.flush();
session.close();
}
public void deleteData()
{
session =sessionFactory.openSession();
Catalog catalog = new Catalog();
catalog.setId(3);
session.delete(catalog);
session.flush();
session.close();
}
public static Catalog setBean()
{
Acctinfo accinfo = new Acctinfo();
accinfo.setAccount("MANOJ1");
accinfo.setPassword("orbis");
accinfo.setBalance("1000");
List list = new ArrayList();
list.add(accinfo);
Catalog catalog = new Catalog();
catalog.setJournal("india");
catalog.setPublisher("indiabulls");
catalog.setEdition("ist");
catalog.setTitle("orbis");
catalog.setAuthor("manoj");
catalog.setAccinfo(list);
return catalog;
}
}
//********************CFG FILE IS ******************
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory name="session">
<property name="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</property>
<property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="hibernate.connection.url">jdbc:oracle:thin:@172.16.31.25:1521:BOMBAY</property>
<property name="hibernate.connection.username">mumbai</property>
<property name="hibernate.connection.password">mumbai123</property>
<!-- Set AutoCommit to true -->
<property name="connection.autocommit">true</property>
<property name="dialect">org.hibernate.dialect.OracleDialect</property>
<!-- Mapping files -->
<mapping resource="Catalog.hbm.xml"/>
</session-factory>
</hibernate-configuration>
**********************error i m facing is :************************
0 [main] WARN net.sf.ehcache.config.Configurator - No configuration found. Configuring ehcache from ehcache-failsafe.xml found in the classpath: jar:file:/C:/Documents%20and%20Settings/d.poonam/Desktop/hibernate/lib/ehcache-1.1.jar!/ehcache-failsafe.xml
1188 [main] WARN org.hibernate.impl.SessionFactoryObjectFactory - Could not bind factory to JNDI
javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.getNameParser(Unknown Source)
at org.hibernate.util.NamingHelper.bind(NamingHelper.java:52)
at org.hibernate.impl.SessionFactoryObjectFactory.addInstance(SessionFactoryObjectFactory.java:90)
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:247)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1043)
at hibernate.example.CatalogClient.<init>(CatalogClient.java:24)
at hibernate.example.CatalogClient.main(CatalogClient.java:27)
please help me out....
thanks in advance..
if u know how to connect two tables plz let me know..
its urgent....