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