org.hibernate.Hibernate#INTEGER源码实例Demo

下面列出了org.hibernate.Hibernate#INTEGER 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: cacheonix-core   文件: LiteralNode.java
public Type getDataType() {
	switch ( getType() ) {
		case NUM_INT:
			return Hibernate.INTEGER;
		case NUM_FLOAT:
			return Hibernate.FLOAT;
		case NUM_LONG:
			return Hibernate.LONG;
		case NUM_DOUBLE:
			return Hibernate.DOUBLE;
		case QUOTED_STRING:
			return Hibernate.STRING;
		case TRUE:
		case FALSE:
			return Hibernate.BOOLEAN;
		default:
			return null;
	}
}
 
public Type toType(String propertyName) throws QueryException {
	if ( propertyName.equals(CollectionPropertyNames.COLLECTION_ELEMENTS) ) {
		return memberPersister.getElementType();
	}
	else if ( propertyName.equals(CollectionPropertyNames.COLLECTION_INDICES) ) {
		if ( !memberPersister.hasIndex() ) throw new QueryException("unindexed collection before indices()");
		return memberPersister.getIndexType();
	}
	else if ( propertyName.equals(CollectionPropertyNames.COLLECTION_SIZE) ) {
		return Hibernate.INTEGER;
	}
	else if ( propertyName.equals(CollectionPropertyNames.COLLECTION_MAX_INDEX) ) {
		return memberPersister.getIndexType();
	}
	else if ( propertyName.equals(CollectionPropertyNames.COLLECTION_MIN_INDEX) ) {
		return memberPersister.getIndexType();
	}
	else if ( propertyName.equals(CollectionPropertyNames.COLLECTION_MAX_ELEMENT) ) {
		return memberPersister.getElementType();
	}
	else if ( propertyName.equals(CollectionPropertyNames.COLLECTION_MIN_ELEMENT) ) {
		return memberPersister.getElementType();
	}
	else {
		//return memberPersister.getPropertyType(propertyName);
		throw new QueryException("illegal syntax near collection: " + propertyName);
	}
}
 
源代码3 项目: cacheonix-core   文件: Dialect.java
public Type getReturnType(Type columnType, Mapping mapping) {
	//pre H3.2 behavior: super.getReturnType(ct, m);
	int[] sqlTypes;
	try {
		sqlTypes = columnType.sqlTypes( mapping );
	}
	catch ( MappingException me ) {
		throw new QueryException( me );
	}
	if ( sqlTypes.length != 1 ) throw new QueryException( "multi-column type in sum()" );
	int sqlType = sqlTypes[0];

	// First allow the actual type to control the return value. (the actual underlying sqltype could actually be different)
	if ( columnType == Hibernate.BIG_INTEGER ) {
		return Hibernate.BIG_INTEGER;
	}
	else if ( columnType == Hibernate.BIG_DECIMAL ) {
		return Hibernate.BIG_DECIMAL;
	}
	else if ( columnType == Hibernate.LONG || columnType == Hibernate.SHORT || columnType == Hibernate.INTEGER) {
		return Hibernate.LONG;
	}
	else if ( columnType == Hibernate.FLOAT || columnType == Hibernate.DOUBLE) {
		return Hibernate.DOUBLE;
	}

	// finally use the sqltype if == on Hibernate types did not find a match.
	if ( sqlType == Types.NUMERIC ) {
		return columnType; //because numeric can be anything
	}
	else if ( sqlType == Types.FLOAT || sqlType == Types.DOUBLE || sqlType == Types.DECIMAL || sqlType == Types.REAL) {
		return Hibernate.DOUBLE;
	}
	else if ( sqlType == Types.BIGINT || sqlType == Types.INTEGER || sqlType == Types.SMALLINT || sqlType == Types.TINYINT ) {
		return Hibernate.LONG;
	}
	else {
		return columnType;
	}
}
 
private Type resolveDataType() {
	// TODO : we may also want to check that the types here map to exactly one column/JDBC-type
	//      can't think of a situation where arithmetic expression between multi-column mappings
	//      makes any sense.
	Node lhs = getLeftHandOperand();
	Node rhs = getRightHandOperand();
	Type lhType = ( lhs instanceof SqlNode ) ? ( ( SqlNode ) lhs ).getDataType() : null;
	Type rhType = ( rhs instanceof SqlNode ) ? ( ( SqlNode ) rhs ).getDataType() : null;
	if ( isDateTimeType( lhType ) || isDateTimeType( rhType ) ) {
		return resolveDateTimeArithmeticResultType( lhType, rhType );
	}
	else {
		if ( lhType == null ) {
			if ( rhType == null ) {
				// we do not know either type
				return Hibernate.DOUBLE; //BLIND GUESS!
			}
			else {
				// we know only the rhs-hand type, so use that
				return rhType;
			}
		}
		else {
			if ( rhType == null ) {
				// we know only the lhs-hand type, so use that
				return lhType;
			}
			else {
				if ( lhType==Hibernate.DOUBLE || rhType==Hibernate.DOUBLE ) return Hibernate.DOUBLE;
				if ( lhType==Hibernate.FLOAT || rhType==Hibernate.FLOAT ) return Hibernate.FLOAT;
				if ( lhType==Hibernate.BIG_DECIMAL || rhType==Hibernate.BIG_DECIMAL ) return Hibernate.BIG_DECIMAL;
				if ( lhType==Hibernate.BIG_INTEGER || rhType==Hibernate.BIG_INTEGER ) return Hibernate.BIG_INTEGER;
				if ( lhType==Hibernate.LONG || rhType==Hibernate.LONG ) return Hibernate.LONG;
				if ( lhType==Hibernate.INTEGER || rhType==Hibernate.INTEGER ) return Hibernate.INTEGER;
				return lhType;
			}
		}
	}
}
 
源代码5 项目: cacheonix-core   文件: CountProjection.java
public Type[] getTypes(Criteria criteria, CriteriaQuery criteriaQuery) 
throws HibernateException {
	return new Type[] { Hibernate.INTEGER };
}
 
源代码6 项目: cacheonix-core   文件: RowCountProjection.java
public Type[] getTypes(Criteria criteria, CriteriaQuery criteriaQuery) 
throws HibernateException {
	return new Type[] { Hibernate.INTEGER };
}
 
源代码7 项目: cacheonix-core   文件: SizeExpression.java
public TypedValue[] getTypedValues(Criteria criteria, CriteriaQuery criteriaQuery) 
throws HibernateException {
	return new TypedValue[] { 
		new TypedValue( Hibernate.INTEGER, new Integer(size), EntityMode.POJO ) 
	};
}
 
public Type getDiscriminatorType() {
	return Hibernate.INTEGER;
}
 
public Type getDiscriminatorType() {
	return Hibernate.INTEGER;
}
 
源代码10 项目: cacheonix-core   文件: PositionSubstringFunction.java
public Type getReturnType(Type columnType, Mapping mapping) throws QueryException {
	return Hibernate.INTEGER;
}
 
源代码11 项目: cacheonix-core   文件: CharIndexFunction.java
public Type getReturnType(Type columnType, Mapping mapping) throws QueryException {
	return Hibernate.INTEGER;
}
 
源代码12 项目: cacheonix-core   文件: ClassicCountFunction.java
public Type getReturnType(Type columnType, Mapping mapping) {
	return Hibernate.INTEGER;
}