亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ejbqltest.java

?? 介紹了hibernate的入門有一些基本常用的事例
?? JAVA
字號:
//$Id: EJBQLTest.java,v 1.19 2005/04/13 06:24:29 oneovthafew Exp $package org.hibernate.test.hql;import antlr.RecognitionException;import antlr.TokenStreamException;import antlr.collections.AST;import junit.framework.Test;import junit.framework.TestSuite;import org.hibernate.engine.SessionFactoryImplementor;import org.hibernate.hql.QueryTranslator;import org.hibernate.hql.QueryTranslatorFactory;import org.hibernate.hql.ast.ASTQueryTranslatorFactory;import org.hibernate.hql.ast.HqlParser;import org.hibernate.test.TestCase;import java.io.ByteArrayOutputStream;import java.io.PrintStream;import java.util.Collections;/** * @author <a href="mailto:alex@jboss.org">Alexey Loubyansky</a> */public class EJBQLTest		extends TestCase {	public EJBQLTest(String x) {		super( x );	}	/**	 * SELECT OBJECT(identifier)	 */	public void testSelectObjectClause() throws Exception {		//parse("select object(m) from Model m");		assertEjbqlEqualsHql( "select object(m) from Model m", "from Model m" );	}	/**	 * IN(collection_valued_path) identifier	 */	public void testCollectionMemberDeclaration() throws Exception {		String hql = "select o from Animal a inner join a.offspring o";		String ejbql = "select object(o) from Animal a, in(a.offspring) o";		//parse(hql);		//parse(ejbql);		assertEjbqlEqualsHql( ejbql, hql );	}	/**	 * collection_valued_path IS [NOT] EMPTY	 */	public void testIsEmpty() throws Exception {		//String hql = "from Animal a where not exists (from a.offspring)";		String hql = "from Animal a where not exists elements(a.offspring)";		String ejbql = "select object(a) from Animal a where a.offspring is empty";		//parse(hql);		//parse(ejbql);		assertEjbqlEqualsHql(ejbql, hql);				hql = "from Animal a where exists (from a.mother.father.offspring)";		ejbql = "select object(a) from Animal a where a.mother.father.offspring is not empty";		assertEjbqlEqualsHql( ejbql, hql );	}	/**	 * [NOT] MEMBER OF	 */	public void testMemberOf() throws Exception {		String hql = "from Animal a where a.mother in (from a.offspring)";		//String hql = "from Animal a where a.mother in elements(a.offspring)";		String ejbql = "select object(a) from Animal a where a.mother member of a.offspring";		//parse(hql);		//parse(ejbql);		assertEjbqlEqualsHql( ejbql, hql );		hql = "from Animal a where a.mother not in (from a.offspring)";		//hql = "from Animal a where a.mother not in elements(a.offspring)";		ejbql = "select object(a) from Animal a where a.mother not member of a.offspring";		//parse(hql);		//parse(ejbql);		assertEjbqlEqualsHql( ejbql, hql );	}	/**	 * Various functions.	 * Tests just parsing for now which means it doesn't guarantee that the generated SQL is as expected or even valid.	 */	public void testEJBQLFunctions() throws Exception {		String hql = "select object(a) from Animal a where a.description = concat('1', concat('2','3'), '4'||'5')||0";		parse( hql, false );		System.out.println( "sql: " + toSql( hql ) );		hql = "from Animal a where substring(a.description, 1, 3) = :p1";		parse( hql, false );		System.out.println( "sql: " + toSql( hql ) );		hql = "select substring(a.description, 1, 3) from Animal a";		parse( hql, false );		System.out.println( "sql: " + toSql( hql ) );		hql = "from Animal a where lower(a.description) = :p1";		parse( hql, false );		System.out.println( "sql: " + toSql( hql ) );		hql = "select lower(a.description) from Animal a";		parse( hql, false );		System.out.println( "sql: " + toSql( hql ) );		hql = "from Animal a where upper(a.description) = :p1";		parse( hql, false );		System.out.println( "sql: " + toSql( hql ) );		hql = "select upper(a.description) from Animal a";		parse( hql, false );		System.out.println( "sql: " + toSql( hql ) );		hql = "from Animal a where length(a.description) = :p1";		parse( hql, false );		System.out.println( "sql: " + toSql( hql ) );		hql = "select length(a.description) from Animal a";		parse( hql, false );		System.out.println( "sql: " + toSql( hql ) );		hql = "from Animal a where locate(a.description, 'abc', 2) = :p1";		parse( hql, false );		System.out.println( "sql: " + toSql( hql ) );		hql = "select locate(a.description, :p1, 2) from Animal a";		parse( hql, false );		System.out.println( "sql: " + toSql( hql ) );		hql = "select object(a) from Animal a where trim(trailing '_' from a.description) = :p1";		parse( hql, false );		System.out.println( "sql: " + toSql( hql ) );		hql = "select trim(trailing '_' from a.description) from Animal a";		parse( hql, false );		System.out.println( "sql: " + toSql( hql ) );		hql = "select object(a) from Animal a where trim(leading '_' from a.description) = :p1";		parse( hql, false );		System.out.println( "sql: " + toSql( hql ) );		hql = "select object(a) from Animal a where trim(both a.description) = :p1";		parse( hql, false );		System.out.println( "sql: " + toSql( hql ) );		hql = "select object(a) from Animal a where trim(a.description) = :p1";		parse( hql, false );		System.out.println( "sql: " + toSql( hql ) );		hql = "select object(a) from Animal a where abs(a.bodyWeight) = sqrt(a.bodyWeight)";		parse( hql, false );		System.out.println( "sql: " + toSql( hql ) );		hql = "select object(a) from Animal a where mod(a.bodyWeight, a.mother.bodyWeight) = :p1";		parse( hql, false );		System.out.println( "sql: " + toSql( hql ) );		hql = "select object(a) from Animal a where BIT_LENGTH(a.bodyWeight) = :p1";		parse( hql, false );		System.out.println( "sql: " + toSql( hql ) );		hql = "select BIT_LENGTH(a.bodyWeight) from Animal a";		parse( hql, false );		System.out.println( "sql: " + toSql( hql ) );		hql = "select object(a) from Animal a where CURRENT_DATE = :p1 or CURRENT_TIME = :p2 or CURRENT_TIMESTAMP = :p3";		parse( hql, false );		System.out.println( "sql: " + toSql( hql ) );		// todo the following is not supported		//hql = "select CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP from Animal a";		//parse(hql, true);		//System.out.println("sql: " + toSql(hql));		hql = "select object(a) from Animal a where a.bodyWeight like '%a%'";		parse( hql, false );		System.out.println( "sql: " + toSql( hql ) );		hql = "select object(a) from Animal a where a.bodyWeight not like '%a%'";		parse( hql, false );		System.out.println( "sql: " + toSql( hql ) );		hql = "select object(a) from Animal a where a.bodyWeight like '%a%' escape '%'";		parse( hql, false );		System.out.println( "sql: " + toSql( hql ) );	}	public void testTrueFalse() throws Exception {		assertEjbqlEqualsHql( "from Human h where h.pregnant is true", "from Human h where h.pregnant = true" );		assertEjbqlEqualsHql( "from Human h where h.pregnant is false", "from Human h where h.pregnant = false" );		assertEjbqlEqualsHql( "from Human h where not(h.pregnant is true)", "from Human h where not( h.pregnant=true )" );	}	// Private	private void assertEjbqlEqualsHql(String ejbql, String hql) {		SessionFactoryImplementor factory = getSessionFactoryImplementor();		QueryTranslatorFactory ast = new ASTQueryTranslatorFactory();		QueryTranslator queryTranslator = ast.createQueryTranslator( hql, Collections.EMPTY_MAP, factory );		queryTranslator.compile( Collections.EMPTY_MAP, true );		String hqlSql = queryTranslator.getSQLString();		queryTranslator = ast.createQueryTranslator( ejbql, Collections.EMPTY_MAP, factory );		queryTranslator.compile( Collections.EMPTY_MAP, true );		String ejbqlSql = queryTranslator.getSQLString();		assertEquals( hqlSql, ejbqlSql );	}	private void assertEjbqlEqualsSql(String sql, String hql) {		SessionFactoryImplementor factory = getSessionFactoryImplementor();		QueryTranslatorFactory ast = new ASTQueryTranslatorFactory();		QueryTranslator queryTranslator = ast.createQueryTranslator( hql, Collections.EMPTY_MAP, factory );		queryTranslator.compile( Collections.EMPTY_MAP, true );		assertEquals( sql, queryTranslator.getSQLString() );	}	private void parse(String input, boolean logging) throws RecognitionException, TokenStreamException {		if ( logging ) {			System.out.println( "input: ->" + input + "<-" );		}		HqlParser parser = HqlParser.getInstance( input );		parser.setFilter( false );		parser.statement();		AST ast = parser.getAST();		if ( logging ) {			System.out.println( "AST  :  " + ast.toStringTree() + "" );			ByteArrayOutputStream baos = new ByteArrayOutputStream();			parser.showAst( ast, new PrintStream( baos ) );			System.out.println( baos.toString() );		}		assertEquals( "At least one error occurred during parsing!", 0, parser.getParseErrorHandler().getErrorCount() );	}	private String toSql(String hql) {		SessionFactoryImplementor factory = getSessionFactoryImplementor();		QueryTranslatorFactory ast = new ASTQueryTranslatorFactory();		QueryTranslator queryTranslator = ast.createQueryTranslator( hql, Collections.EMPTY_MAP, factory );		queryTranslator.compile( Collections.EMPTY_MAP, true );		return queryTranslator.getSQLString();	}	private SessionFactoryImplementor getSessionFactoryImplementor() {		SessionFactoryImplementor factory = ( SessionFactoryImplementor ) getSessions();		if ( factory == null ) {			throw new NullPointerException( "Unable to create factory!" );		}		return factory;	}	protected String[] getMappings() {		return new String[]{			"hql/Animal.hbm.xml",			"batchfetch/ProductLine.hbm.xml",			"cid/Customer.hbm.xml",			"cid/Order.hbm.xml",			"cid/LineItem.hbm.xml",			"cid/Product.hbm.xml",			"legacy/Glarch.hbm.xml",			"legacy/Fee.hbm.xml",			"legacy/Qux.hbm.xml",			"legacy/Fum.hbm.xml",			"legacy/Holder.hbm.xml",			"legacy/One.hbm.xml",			"legacy/FooBar.hbm.xml",			"legacy/Many.hbm.xml",			"legacy/Baz.hbm.xml",			"legacy/Simple.hbm.xml",			"legacy/Middle.hbm.xml",			"legacy/Category.hbm.xml",			"legacy/Multi.hbm.xml",			"legacy/Commento.hbm.xml",			"legacy/Marelo.hbm.xml",			"compositeelement/Parent.hbm.xml",			"legacy/Container.hbm.xml",		};	}	public static Test suite() {		return new TestSuite( EJBQLTest.class );	}}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲黄网站在线观看| 中文字幕av一区二区三区高| 国产99一区视频免费| 久久国产视频网| 蜜臀久久久99精品久久久久久| 午夜激情综合网| 日本aⅴ亚洲精品中文乱码| 亚洲一级二级在线| 日韩国产欧美在线播放| 日韩二区三区四区| 国产原创一区二区三区| 国产一二精品视频| 成人av电影观看| 色诱视频网站一区| 欧美午夜精品一区二区三区| 欧洲在线/亚洲| 欧美一区二区三区在线看| 日韩欧美资源站| 欧美激情一区二区三区在线| 亚洲欧洲日韩av| 亚洲高清免费观看高清完整版在线观看| 亚洲国产人成综合网站| 久久99精品一区二区三区三区| 国产在线观看免费一区| 99久久久久免费精品国产| 欧美色男人天堂| 久久女同精品一区二区| 亚洲三级免费电影| 视频一区欧美日韩| 国产黄人亚洲片| 日本高清成人免费播放| 日韩午夜在线影院| 亚洲欧美影音先锋| 美女国产一区二区三区| 成人高清av在线| 欧美一区二区播放| 国产精品成人免费精品自在线观看| 亚洲成人免费在线观看| 国产精品一二三区在线| 欧美色图在线观看| 亚洲国产成人在线| 日韩av一二三| 91九色最新地址| 久久久噜噜噜久久人人看| 亚洲综合一区在线| 成人免费视频国产在线观看| 91超碰这里只有精品国产| 中文字幕av一区二区三区| 全国精品久久少妇| 欧美中文字幕一区二区三区| 久久久久久久久免费| 天天综合日日夜夜精品| 99精品视频在线观看| 欧美成人精品二区三区99精品| 亚洲精品乱码久久久久久黑人| 国产精品888| 日韩写真欧美这视频| 午夜精品久久久久久久蜜桃app| 成人网在线播放| 精品成a人在线观看| 日韩高清不卡一区二区三区| 色天天综合久久久久综合片| 国产精品国产成人国产三级| 国产福利精品导航| 精品国产免费一区二区三区四区| 婷婷中文字幕综合| 日本福利一区二区| 亚洲自拍偷拍网站| 91视视频在线观看入口直接观看www | 国产精品久久久久精k8| 国产麻豆视频精品| 久久久久久免费毛片精品| 久久精品国产精品青草| 欧美电影免费观看高清完整版| 午夜伊人狠狠久久| 在线成人av网站| 日韩高清在线观看| 精品国产一区二区在线观看| 美女被吸乳得到大胸91| 精品日韩一区二区三区免费视频| 日本网站在线观看一区二区三区| 在线不卡免费欧美| 青娱乐精品视频| 日韩午夜在线观看| 国产美女一区二区| 国产精品水嫩水嫩| 91在线视频免费观看| 亚洲另类春色校园小说| 91国偷自产一区二区开放时间 | 五月天亚洲精品| 欧美日韩精品一区二区在线播放| 亚洲va国产va欧美va观看| 日韩久久精品一区| 国产电影精品久久禁18| 一区二区三区在线不卡| 91精品免费观看| 国产精品综合网| 亚洲猫色日本管| 欧美成人三级在线| 菠萝蜜视频在线观看一区| 一区二区三区在线视频免费| 日韩一区二区中文字幕| 国产精品99久久久久| 亚洲精品国产视频| 91精品国产福利| 成人久久视频在线观看| 亚洲国产精品久久艾草纯爱| 精品国产乱码久久久久久图片| 99久久免费国产| 久久精品国产精品亚洲精品| 日韩毛片一二三区| 日韩欧美第一区| 色综合久久久久久久久| 国产在线视频不卡二| 一区二区三区在线观看欧美| 久久综合久久综合久久| 一本到高清视频免费精品| 国产一区二区在线观看视频| 亚洲黄色性网站| 国产精品狼人久久影院观看方式| 日韩网站在线看片你懂的| 色94色欧美sute亚洲线路一久| 国产精品中文有码| 视频一区视频二区中文| 亚洲摸摸操操av| 欧美激情在线观看视频免费| 欧美一卡2卡3卡4卡| 欧美亚洲一区三区| 国产1区2区3区精品美女| 日韩av电影天堂| 亚洲一区在线观看视频| 亚洲品质自拍视频| 国产日产欧美一区| 欧美电影免费观看高清完整版在线 | 色综合久久久网| 丰满少妇在线播放bd日韩电影| 蜜桃av噜噜一区二区三区小说| 亚洲激情成人在线| 亚洲欧洲av另类| 国产欧美日韩另类一区| 精品国产sm最大网站| 精品少妇一区二区三区免费观看| 欧美四级电影网| 色av成人天堂桃色av| 色噜噜久久综合| 99久久伊人精品| 国产成人综合精品三级| 国模无码大尺度一区二区三区| 午夜精品一区在线观看| 日韩激情av在线| 亚洲国产aⅴ成人精品无吗| 亚洲国产成人高清精品| 亚洲免费高清视频在线| 亚洲欧美色一区| 亚洲国产精品天堂| 亚洲在线中文字幕| 偷拍日韩校园综合在线| 日本不卡高清视频| 人人狠狠综合久久亚洲| 久久99久久99| 成人毛片在线观看| 成人99免费视频| 欧美系列亚洲系列| 51午夜精品国产| 精品国产百合女同互慰| 中文字幕欧美区| 亚洲欧美二区三区| 午夜视频在线观看一区二区| 青青草97国产精品免费观看 | 欧美精品一二三区| 欧美一区二区美女| 337p日本欧洲亚洲大胆色噜噜| 337p日本欧洲亚洲大胆精品| 国产精品电影一区二区| 亚洲在线视频网站| 六月婷婷色综合| 国产精品一区二区在线观看不卡| 波多野洁衣一区| 欧美日韩另类一区| 欧美电影免费观看高清完整版 | 国产精品女同一区二区三区| 日韩毛片在线免费观看| 午夜激情一区二区| 国产很黄免费观看久久| 欧美在线观看视频一区二区 | 亚洲精品一区二区三区精华液 | 免费视频最近日韩| 国产aⅴ精品一区二区三区色成熟| av一区二区三区| 91精品啪在线观看国产60岁| 久久久久久久久久久久久女国产乱| 一区二区中文字幕在线| 日本成人在线网站| 51精品视频一区二区三区| 国产亚洲精品aa午夜观看| 亚洲免费在线视频| 国产精品一区二区在线观看不卡 | 久久综合九色欧美综合狠狠| 亚洲欧美日韩国产成人精品影院 | 91精品国产欧美日韩|