Hibernate.String/LONG 代替

 以前使用Hibernate 使用了 以下代码:

SQLQuery SqlQuery = session.createSQLQuery(sql.toString());
		// 设置值
		SqlQuery.addScalar("contractid", Hibernate.STRING);
                                // .....

 

现在hibernate 版本升级了,就报错了,现在是下面的代替方法:

 

// 用这里面的警醒代替
StandardBasicTypes.CHARACTER_ARRAY
StringType.INSTANCE

 

两者区别不大,StandardBasicTypes 里面定义了全是 各种Type 的静态属性,其实是一个东西:

 

public class StandardBasicTypes {  

040     /***  

041      * The standard Hibernate type for mapping {@link Boolean} to JDBC {@link java.sql.Types#BIT BIT}.  

042      *  

043      * @see BooleanType  

044      */ 

045     public static final BooleanType BOOLEAN = BooleanType.INSTANCE;  

046    

047     /***  

048      * The standard Hibernate type for mapping {@link Boolean} to JDBC {@link java.sql.Types#INTEGER INTEGER}.  

049      *  

050      * @see NumericBooleanType  

051      */ 

052     public static final NumericBooleanType NUMERIC_BOOLEAN = NumericBooleanType.INSTANCE;  

053    

054     /***  

055      * The standard Hibernate type for mapping {@link Boolean} to JDBC {@link java.sql.Types#CHAR CHAR(1)} (using 'T'/'F').  

056      *  

057      * @see TrueFalseType  

058      */ 

059     public static final TrueFalseType TRUE_FALSE = TrueFalseType.INSTANCE;  

060    

061     /***  

062      * The standard Hibernate type for mapping {@link Boolean} to JDBC {@link java.sql.Types#CHAR CHAR(1)} (using 'Y'/'N').  

063      *  

064      * @see YesNoType  

065      */ 

066     public static final YesNoType YES_NO = YesNoType.INSTANCE;  

067    

068     /***  

069      * The standard Hibernate type for mapping {@link Byte} to JDBC {@link java.sql.Types#TINYINT TINYINT}.  

070      */ 

071     public static final ByteType BYTE = ByteType.INSTANCE;  


。
。
。
}

 

 

除了有StringType.INSTANCE ,还有很多类型。在org.hibernate.type 下。个人建议还是使用 StandardBasicTypes

你可能感兴趣的:(Hibernate,StringType)