Hiernate 升级后获取类型的改变

来源:互联网 发布:数据光端机 编辑:程序博客网 时间:2024/05/02 02:16

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

Java代码  收藏代码
  1. SQLQuery SqlQuery = session.createSQLQuery(sql.toString());  
  2.         // 设置值  
  3.         SqlQuery.addScalar("contractid", Hibernate.STRING);  
  4.                                 // .....  

 

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

 

Java代码  收藏代码
  1. // 用这里面的警醒代替  
  2. StandardBasicTypes.CHARACTER_ARRAY  
  3. StringType.INSTANCE  

 

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

 

Java代码  收藏代码
  1. public class StandardBasicTypes {    
  2.   
  3. 040     /***   
  4.  
  5. 041      * The standard Hibernate type for mapping {@link Boolean} to JDBC {@link java.sql.Types#BIT BIT}.   
  6.  
  7. 042      *   
  8.  
  9. 043      * @see BooleanType   
  10.  
  11. 044      */   
  12.   
  13. 045     public static final BooleanType BOOLEAN = BooleanType.INSTANCE;    
  14.   
  15. 046      
  16.   
  17. 047     /***   
  18.  
  19. 048      * The standard Hibernate type for mapping {@link Boolean} to JDBC {@link java.sql.Types#INTEGER INTEGER}.   
  20.  
  21. 049      *   
  22.  
  23. 050      * @see NumericBooleanType   
  24.  
  25. 051      */   
  26.   
  27. 052     public static final NumericBooleanType NUMERIC_BOOLEAN = NumericBooleanType.INSTANCE;    
  28.   
  29. 053      
  30.   
  31. 054     /***   
  32.  
  33. 055      * The standard Hibernate type for mapping {@link Boolean} to JDBC {@link java.sql.Types#CHAR CHAR(1)} (using 'T'/'F').   
  34.  
  35. 056      *   
  36.  
  37. 057      * @see TrueFalseType   
  38.  
  39. 058      */   
  40.   
  41. 059     public static final TrueFalseType TRUE_FALSE = TrueFalseType.INSTANCE;    
  42.   
  43. 060      
  44.   
  45. 061     /***   
  46.  
  47. 062      * The standard Hibernate type for mapping {@link Boolean} to JDBC {@link java.sql.Types#CHAR CHAR(1)} (using 'Y'/'N').   
  48.  
  49. 063      *   
  50.  
  51. 064      * @see YesNoType   
  52.  
  53. 065      */   
  54.   
  55. 066     public static final YesNoType YES_NO = YesNoType.INSTANCE;    
  56.   
  57. 067      
  58.   
  59. 068     /***   
  60.  
  61. 069      * The standard Hibernate type for mapping {@link Byte} to JDBC {@link java.sql.Types#TINYINT TINYINT}.   
  62.  
  63. 070      */   
  64.   
  65. 071     public static final ByteType BYTE = ByteType.INSTANCE;    
  66.   
  67.   
  68. 。  
  69. 。  
  70. 。  
  71. }  

 

 

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

0 0
原创粉丝点击