⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 multirepresentationtest.java

📁 介绍了hibernate的入门有一些基本常用的事例
💻 JAVA
字号:
// $Id: MultiRepresentationTest.java,v 1.8 2005/04/03 04:24:23 oneovthafew Exp $package org.hibernate.test.entity;import java.sql.Connection;import java.sql.Date;import java.sql.PreparedStatement;import java.sql.SQLException;import java.sql.Types;import java.util.List;import junit.framework.Test;import junit.framework.TestSuite;import org.dom4j.DocumentFactory;import org.dom4j.Element;import org.dom4j.io.OutputFormat;import org.dom4j.io.XMLWriter;import org.hibernate.EntityMode;import org.hibernate.HibernateException;import org.hibernate.Transaction;import org.hibernate.classic.Session;import org.hibernate.engine.SessionFactoryImplementor;import org.hibernate.id.IdentifierGenerator;import org.hibernate.impl.SessionImpl;import org.hibernate.test.TestCase;/** * Implementation of MultiRepresentationTest. * * @author Steve Ebersole */public class MultiRepresentationTest extends TestCase {	Long stockId;	Long valId;	public MultiRepresentationTest(String name) {		super(name);	}	public void testPojoRetreival() {		Session session = openSession();		Transaction txn = session.beginTransaction();		prepareTestData( session );		Stock stock = ( Stock ) session.get( Stock.class, new Long(1) );		assertEquals( "Something wrong!", new Long(1), stock.getId() );		txn.rollback();		session.close();	}	public void testDom4jRetreival() {		Session session = openSession();		Transaction txn = session.beginTransaction();		org.hibernate.Session dom4j = session.getSession( EntityMode.DOM4J );		prepareTestData( session );		Object rtn = dom4j.get( Stock.class.getName(), stockId );		Element element = ( Element ) rtn;		assertEquals( "Something wrong!", stockId, Long.valueOf( element.attributeValue("id") ) );		System.out.println("**** XML: ****************************************************");		prettyPrint( element );		System.out.println("**************************************************************");		Element currVal = element.element( "currentValuation");		System.out.println("**** XML: ****************************************************");		prettyPrint( currVal );		System.out.println("**************************************************************");		txn.rollback();		session.close();	}	public void testDom4jSave() {		Session pojos = openSession();		Transaction txn = pojos.beginTransaction();		prepareTestData( pojos );		org.hibernate.Session dom4j = pojos.getSession( EntityMode.DOM4J );		Element stock = DocumentFactory.getInstance().createElement( "stock" );		stock.addElement( "tradeSymbol" ).setText( "IBM" );		Element val = stock.addElement( "currentValuation" ).addElement( "valuation" );		val.appendContent( stock );		val.addElement( "valuationDate" ).setText( new java.util.Date().toString() );		val.addElement( "value" ).setText( "121.00" );		dom4j.save( Stock.class.getName(), stock );		dom4j.flush();		txn.rollback();		pojos.close();		assertTrue( !pojos.isOpen() );		assertTrue( !dom4j.isOpen() );		prettyPrint( stock );	}	public void testDom4jHQL() {		Session session = openSession();		Transaction txn = session.beginTransaction();		org.hibernate.Session dom4j = session.getSession( EntityMode.DOM4J );		prepareTestData( session );		List result = dom4j.createQuery( "from Stock" ).list();		assertEquals( "Incorrect result size", 1, result.size() );		Element element = ( Element ) result.get( 0 );		assertEquals( "Something wrong!", stockId, Long.valueOf( element.attributeValue("id") ) );		System.out.println("**** XML: ****************************************************");		prettyPrint( element );		System.out.println("**************************************************************");		txn.rollback();		session.close();	}	private void prepareTestData(Session session) throws HibernateException {		try {			IdentifierGenerator stockIdGen = ( (SessionFactoryImplementor) session.getSessionFactory() )			        .getIdentifierGenerator( Stock.class.getName() );			IdentifierGenerator valIdGen = ( (SessionFactoryImplementor) session.getSessionFactory() )			        .getIdentifierGenerator( Valuation.class.getName() );			stockId = ( Long ) stockIdGen.generate( (SessionImpl) session, null );			valId = ( Long ) valIdGen.generate( (SessionImpl) session, null );			Connection conn = session.connection();			PreparedStatement ps = conn.prepareStatement( "INSERT INTO STOCK VALUES (?,?,?)");			ps.setLong( 1, stockId.longValue() );			ps.setString( 2, "JBOSS" );			ps.setNull(3, Types.BIGINT);			ps.executeUpdate();			ps.close();			ps = conn.prepareStatement( "INSERT INTO STOCK_VAL VALUES (?,?,?,?)" );			ps.setLong( 1, valId.longValue() );			ps.setLong( 2, stockId.longValue() );			ps.setDate( 3, new Date( new java.util.Date().getTime() ) );			ps.setDouble( 4, 200.0 );			ps.executeUpdate();			ps.close();			ps = conn.prepareStatement( "UPDATE STOCK SET CURR_VAL_ID = ? WHERE STOCK_ID = ?" );			ps.setLong( 1, valId.longValue() );			ps.setLong( 2, stockId.longValue() );			ps.executeUpdate();			ps.close();		}		catch( SQLException e ) {			System.err.println( "Error : " + e );			e.printStackTrace();			throw new HibernateException("Unable to generate test data",e);		}	}	private void prettyPrint(Element element) {		//System.out.println( element.asXML() );		try {			OutputFormat format = OutputFormat.createPrettyPrint();			new XMLWriter( System.out, format ).write( element );			System.out.println();		}		catch( Throwable t ) {			System.err.println("Unable to pretty print element : " + t);		}	}	public static Test suite() {		return new TestSuite( MultiRepresentationTest.class );	}	protected String[] getMappings() {		return new String[] {"entity/Stock.hbm.xml", "entity/Valuation.hbm.xml"};	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -