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

📄 abstractqueryimpl.java

📁 一个Java持久层类库
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
			catch (MappingException me) {				if (serializable) {					return type;				}				else {					throw new HibernateException("Could not determine a type for class: " + typename);				}			}			return Hibernate.entity(clazz);		}		else {			return type;		}	}	public Query setString(int position, String val) {		setParameter(position, val, Hibernate.STRING);		return this;	}	public Query setCharacter(int position, char val) {		setParameter(position, new Character(val), Hibernate.CHARACTER);		return this;	}	public Query setBoolean(int position, boolean val) {		Boolean valueToUse = val ? Boolean.TRUE : Boolean.FALSE;		Type typeToUse = determineType( position, valueToUse, Hibernate.BOOLEAN );		setParameter( position, valueToUse, typeToUse );		return this;	}	public Query setByte(int position, byte val) {		setParameter(position, new Byte(val), Hibernate.BYTE);		return this;	}	public Query setShort(int position, short val) {		setParameter(position, new Short(val), Hibernate.SHORT);		return this;	}	public Query setInteger(int position, int val) {		setParameter(position, new Integer(val), Hibernate.INTEGER);		return this;	}	public Query setLong(int position, long val) {		setParameter(position, new Long(val), Hibernate.LONG);		return this;	}	public Query setFloat(int position, float val) {		setParameter(position, new Float(val), Hibernate.FLOAT);		return this;	}	public Query setDouble(int position, double val) {		setParameter(position, new Double(val), Hibernate.DOUBLE);		return this;	}	public Query setBinary(int position, byte[] val) {		setParameter(position, val, Hibernate.BINARY);		return this;	}	public Query setText(int position, String val) {		setParameter(position, val, Hibernate.TEXT);		return this;	}	public Query setSerializable(int position, Serializable val) {		setParameter(position, val, Hibernate.SERIALIZABLE);		return this;	}	public Query setDate(int position, Date date) {		setParameter(position, date, Hibernate.DATE);		return this;	}	public Query setTime(int position, Date date) {		setParameter(position, date, Hibernate.TIME);		return this;	}	public Query setTimestamp(int position, Date date) {		setParameter(position, date, Hibernate.TIMESTAMP);		return this;	}	public Query setEntity(int position, Object val) {		setParameter( position, val, Hibernate.entity( resolveEntityName( val ) ) );		return this;	}	private String resolveEntityName(Object val) {		if ( val == null ) {			throw new IllegalArgumentException( "entity for parameter binding cannot be null" );		}		return session.bestGuessEntityName( val );	}	public Query setLocale(int position, Locale locale) {		setParameter(position, locale, Hibernate.LOCALE);		return this;	}	public Query setCalendar(int position, Calendar calendar) {		setParameter(position, calendar, Hibernate.CALENDAR);		return this;	}	public Query setCalendarDate(int position, Calendar calendar) {		setParameter(position, calendar, Hibernate.CALENDAR_DATE);		return this;	}	public Query setBinary(String name, byte[] val) {		setParameter(name, val, Hibernate.BINARY);		return this;	}	public Query setText(String name, String val) {		setParameter(name, val, Hibernate.TEXT);		return this;	}	public Query setBoolean(String name, boolean val) {		Boolean valueToUse = val ? Boolean.TRUE : Boolean.FALSE;		Type typeToUse = determineType( name, valueToUse, Hibernate.BOOLEAN );		setParameter( name, valueToUse, typeToUse );		return this;	}	public Query setByte(String name, byte val) {		setParameter(name, new Byte(val), Hibernate.BYTE);		return this;	}	public Query setCharacter(String name, char val) {		setParameter(name, new Character(val), Hibernate.CHARACTER);		return this;	}	public Query setDate(String name, Date date) {		setParameter(name, date, Hibernate.DATE);		return this;	}	public Query setDouble(String name, double val) {		setParameter(name, new Double(val), Hibernate.DOUBLE);		return this;	}	public Query setEntity(String name, Object val) {		setParameter( name, val, Hibernate.entity( resolveEntityName( val ) ) );		return this;	}	public Query setFloat(String name, float val) {		setParameter(name, new Float(val), Hibernate.FLOAT);		return this;	}	public Query setInteger(String name, int val) {		setParameter(name, new Integer(val), Hibernate.INTEGER);		return this;	}	public Query setLocale(String name, Locale locale) {		setParameter(name, locale, Hibernate.LOCALE);		return this;	}	public Query setCalendar(String name, Calendar calendar) {		setParameter(name, calendar, Hibernate.CALENDAR);		return this;	}	public Query setCalendarDate(String name, Calendar calendar) {		setParameter(name, calendar, Hibernate.CALENDAR_DATE);		return this;	}	public Query setLong(String name, long val) {		setParameter(name, new Long(val), Hibernate.LONG);		return this;	}	public Query setSerializable(String name, Serializable val) {		setParameter(name, val, Hibernate.SERIALIZABLE);		return this;	}	public Query setShort(String name, short val) {		setParameter(name, new Short(val), Hibernate.SHORT);		return this;	}	public Query setString(String name, String val) {		setParameter(name, val, Hibernate.STRING);		return this;	}	public Query setTime(String name, Date date) {		setParameter(name, date, Hibernate.TIME);		return this;	}	public Query setTimestamp(String name, Date date) {		setParameter(name, date, Hibernate.TIMESTAMP);		return this;	}	public Query setBigDecimal(int position, BigDecimal number) {		setParameter(position, number, Hibernate.BIG_DECIMAL);		return this;	}	public Query setBigDecimal(String name, BigDecimal number) {		setParameter(name, number, Hibernate.BIG_DECIMAL);		return this;	}	public Query setBigInteger(int position, BigInteger number) {		setParameter(position, number, Hibernate.BIG_INTEGER);		return this;	}	public Query setBigInteger(String name, BigInteger number) {		setParameter(name, number, Hibernate.BIG_INTEGER);		return this;	}	public Query setParameterList(String name, Collection vals, Type type) throws HibernateException {		if ( !parameterMetadata.getNamedParameterNames().contains( name ) ) {			throw new IllegalArgumentException("Parameter " + name + " does not exist as a named parameter in [" + getQueryString() + "]");		}		namedParameterLists.put( name, new TypedValue( type, vals, session.getEntityMode() ) );		return this;	}		/**	 * Warning: adds new parameters to the argument by side-effect, as well as	 * mutating the query string!	 */	protected String expandParameterLists(Map namedParamsCopy) {		String query = this.queryString;		Iterator iter = namedParameterLists.entrySet().iterator();		while ( iter.hasNext() ) {			Map.Entry me = (Map.Entry) iter.next();			query = expandParameterList( query, (String) me.getKey(), (TypedValue) me.getValue(), namedParamsCopy );		}		return query;	}	/**	 * Warning: adds new parameters to the argument by side-effect, as well as	 * mutating the query string!	 */	private String expandParameterList(String query, String name, TypedValue typedList, Map namedParamsCopy) {		Collection vals = (Collection) typedList.getValue();		Type type = typedList.getType();		if ( vals.size() == 1 ) {			// short-circuit for performance...			namedParamsCopy.put( name, new TypedValue( type, vals.iterator().next(), session.getEntityMode() ) );			return query;		}		StringBuffer list = new StringBuffer( 16 );		Iterator iter = vals.iterator();		int i = 0;		boolean isJpaPositionalParam = parameterMetadata.getNamedParameterDescriptor( name ).isJpaStyle();		while ( iter.hasNext() ) {			String alias = ( isJpaPositionalParam ? 'x' + name : name ) + i++ + '_';			namedParamsCopy.put( alias, new TypedValue( type, iter.next(), session.getEntityMode() ) );			list.append( ParserHelper.HQL_VARIABLE_PREFIX ).append( alias );			if ( iter.hasNext() ) {				list.append( ", " );			}		}		String paramPrefix = isJpaPositionalParam ? "?" : ParserHelper.HQL_VARIABLE_PREFIX;		return StringHelper.replace( query, paramPrefix + name, list.toString(), true );	}	public Query setParameterList(String name, Collection vals) throws HibernateException {		if ( vals == null ) {			throw new QueryException( "Collection must be not null!" );		}		if( vals.size() == 0 ) {			setParameterList( name, vals, null );		}		else {			setParameterList(name, vals, determineType( name, vals.iterator().next() ) );		}		return this;	}	public Query setParameterList(String name, Object[] vals, Type type) throws HibernateException {		return setParameterList( name, Arrays.asList(vals), type );	}	public Query setParameterList(String name, Object[] vals) throws HibernateException {		return setParameterList( name, Arrays.asList(vals) );	}	public Query setProperties(Map map) throws HibernateException {		String[] params = getNamedParameters();		for (int i = 0; i < params.length; i++) {			String namedParam = params[i];				final Object object = map.get(namedParam);				if(object==null) {					continue;				}				Class retType = object.getClass();				if ( Collection.class.isAssignableFrom( retType ) ) {					setParameterList( namedParam, ( Collection ) object );				}				else if ( retType.isArray() ) {					setParameterList( namedParam, ( Object[] ) object );				}				else {					setParameter( namedParam, object, determineType( namedParam, retType ) );				}					}		return this;					}		public Query setProperties(Object bean) throws HibernateException {		Class clazz = bean.getClass();		String[] params = getNamedParameters();		for (int i = 0; i < params.length; i++) {			String namedParam = params[i];			try {				Getter getter = ReflectHelper.getGetter( clazz, namedParam );				Class retType = getter.getReturnType();				final Object object = getter.get( bean );				if ( Collection.class.isAssignableFrom( retType ) ) {					setParameterList( namedParam, ( Collection ) object );				}				else if ( retType.isArray() ) {				 	setParameterList( namedParam, ( Object[] ) object );				}				else {					setParameter( namedParam, object, determineType( namedParam, retType ) );				}			}			catch (PropertyNotFoundException pnfe) {				// ignore			}		}		return this;	}	public Query setParameters(Object[] values, Type[] types) {		this.values = Arrays.asList(values);		this.types = Arrays.asList(types);		return this;	}	// Execution methods ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~	public Object uniqueResult() throws HibernateException {		return uniqueElement( list() );	}	static Object uniqueElement(List list) throws NonUniqueResultException {		int size = list.size();		if (size==0) return null;		Object first = list.get(0);		for ( int i=1; i<size; i++ ) {			if ( list.get(i)!=first ) {				throw new NonUniqueResultException( list.size() );			}		}		return first;	}	protected RowSelection getRowSelection() {		return selection;	}	public Type[] typeArray() {		return ArrayHelper.toTypeArray( getTypes() );	}		public Object[] valueArray() {		return getValues().toArray();	}	public QueryParameters getQueryParameters(Map namedParams) {		return new QueryParameters(				typeArray(),				valueArray(),				namedParams,				getLockModes(),				getSelection(),				readOnly,				cacheable,				cacheRegion,				comment,				collectionKey == null ? null : new Serializable[] { collectionKey },				optionalObject,				optionalEntityName,				optionalId,				resultTransformer		);	}		protected void before() {		if ( flushMode!=null ) {			sessionFlushMode = getSession().getFlushMode();			getSession().setFlushMode(flushMode);		}		if ( cacheMode!=null ) {			sessionCacheMode = getSession().getCacheMode();			getSession().setCacheMode(cacheMode);		}	}		protected void after() {		if (sessionFlushMode!=null) {			getSession().setFlushMode(sessionFlushMode);			sessionFlushMode = null;		}		if (sessionCacheMode!=null) {			getSession().setCacheMode(sessionCacheMode);			sessionCacheMode = null;		}	}}

⌨️ 快捷键说明

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