当前位置: 首页>>代码示例>>Java>>正文


Java CustomType类代码示例

本文整理汇总了Java中org.hibernate.type.CustomType的典型用法代码示例。如果您正苦于以下问题:Java CustomType类的具体用法?Java CustomType怎么用?Java CustomType使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


CustomType类属于org.hibernate.type包,在下文中一共展示了CustomType类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: convert

import org.hibernate.type.CustomType; //导入依赖的package包/类
/**
 * Returns the {@link GridType} representing the {@link Type}.
 *
 * @param type the Type that needs conversion
 *
 * @return the corresponding GridType
 */
public GridType convert(Type type) {

	if ( type instanceof CustomType ) {
		CustomType customType = (CustomType) type;
		if ( customType.getUserType() instanceof EnumType ) {
			EnumType enumType = (EnumType) customType.getUserType();
			return ( new RedisHashEnumType( customType, enumType ) );
		}
	}

	if ( type instanceof SerializableToBlobType ) {
		return new SerializableAsStringType( ( (SerializableToBlobType) type ).getJavaTypeDescriptor() );
	}

	return conversionMap.get( type );
}
 
开发者ID:hibernate,项目名称:hibernate-ogm-redis,代码行数:24,代码来源:RedisHashTypeConverter.java

示例2: RedisHashEnumType

import org.hibernate.type.CustomType; //导入依赖的package包/类
public RedisHashEnumType(CustomType customType, org.hibernate.type.EnumType enumType) {
	super( customType, enumType );
}
 
开发者ID:hibernate,项目名称:hibernate-ogm-redis,代码行数:4,代码来源:RedisHashEnumType.java

示例3: get

import org.hibernate.type.CustomType; //导入依赖的package包/类
/**
 * Extract the value from the result set (which is assumed to already have been positioned to the apopriate row)
 * and wrp it in the appropriate Java numeric type.
 *
 * @param rs The result set from which to extract the value.
 * @param identifier The name of the identifier column
 * @param type The expected type of the value.
 *
 * @return The extracted value.
 *
 * @throws SQLException Indicates problems access the result set
 * @throws IdentifierGenerationException Indicates an unknown type.
 */
public static Serializable get(ResultSet rs, String identifier, Type type) throws SQLException, IdentifierGenerationException {
	if ( ResultSetIdentifierConsumer.class.isInstance( type ) ) {
		return ( ( ResultSetIdentifierConsumer ) type ).consumeIdentifier( rs );
	}
	if ( CustomType.class.isInstance( type ) ) {
		final CustomType customType = (CustomType) type;
		if ( ResultSetIdentifierConsumer.class.isInstance( customType.getUserType() ) ) {
			return ( (ResultSetIdentifierConsumer) customType.getUserType() ).consumeIdentifier( rs );
		}
	}

	Class clazz = type.getReturnedClass();
	if (rs.getMetaData().getColumnCount() == 1) {
		if ( clazz == Long.class ) {
			return rs.getLong( 1 );
		}
		else if ( clazz == Integer.class ) {
			return rs.getInt( 1 );
		}
		else if ( clazz == Short.class ) {
			return rs.getShort( 1 );
		}
		else if ( clazz == String.class ) {
			return rs.getString( 1 );
		}
		else if ( clazz == BigInteger.class ) {
			return rs.getBigDecimal( 1 ).setScale( 0, BigDecimal.ROUND_UNNECESSARY ).toBigInteger();
		}
		else if ( clazz == BigDecimal.class ) {
			return rs.getBigDecimal( 1 ).setScale( 0, BigDecimal.ROUND_UNNECESSARY );
		}
		else {
			throw new IdentifierGenerationException(
					"unrecognized id type : " + type.getName() + " -> " + clazz.getName()
			);
		}
	}
	else {
		if ( clazz == Long.class ) {
			return rs.getLong(identifier);
		}
		else if ( clazz == Integer.class ) {
			return rs.getInt(identifier);
		}
		else if ( clazz == Short.class ) {
			return rs.getShort(identifier);
		}
		else if ( clazz == String.class ) {
			return rs.getString(identifier);
		}
		else if ( clazz == BigInteger.class ) {
			return rs.getBigDecimal(identifier).setScale( 0, BigDecimal.ROUND_UNNECESSARY ).toBigInteger();
		}
		else if ( clazz == BigDecimal.class ) {
			return rs.getBigDecimal(identifier).setScale( 0, BigDecimal.ROUND_UNNECESSARY );
		}
		else {
			throw new IdentifierGenerationException(
					"unrecognized id type : " + type.getName() + " -> " + clazz.getName()
			);
		}
	}
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:77,代码来源:IdentifierGeneratorHelper.java


注:本文中的org.hibernate.type.CustomType类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。