以前使用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