`
greemranqq
  • 浏览: 976974 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

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

1
2
分享到:
评论
2 楼 xuejiangtao 2014-12-14  
升级了hibernate,出现了这个问题,按照楼主的方案,至少编译不报错了,还需要后面验证下功能。
1 楼 beykery 2013-01-25  
你这个是执行sql语句吧?没这么干过。

相关推荐

    基于java的数据持久层框架 Hibernate.zip

    从Hibernate 3.2开始,支持使用Java注解来代替XML映射文件,简化配置。例如: ```java @Entity @Table(name = "users") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private ...

    Hibernate O/R Mapping 入门工程包

    随着Java注解的流行,Hibernate也支持使用注解来代替XML进行映射。在`HbmUser`类中,我们可以看到如下注解: ```java @Entity @Table(name = "USER") public class HbmUser { @Id @GeneratedValue(strategy = ...

    Hibernate中数据类型

    `VARCHAR2` 在 Oracle 中代替 `VARCHAR`,而 `NVARCHAR2` 用于 Unicode 字符串。因此,在实际应用中,开发者需要根据所使用的数据库系统进行适当的调整。 **3. 使用 Hibernate 数据类型** 在 Hibernate 中,数据...

    Struts2 + Hibernate开发笔记(二).txt

    此时可以考虑使用`merge`方法来代替`update`方法。 ```java public void updateCity(MthCity city) throws DataAccessException, BaseException { baseHibernateDAO.merge(city); // 合并对象并更新 } ``` - `...

    hibernate一对一例子

    在Java世界中,Hibernate是一个非常流行的对象关系映射(ORM)框架,它允许开发者使用面向对象的方式来操作数据库,极大地简化了数据库操作。本教程将通过一个具体的“一对一”关系的例子来帮助初学者理解Hibernate...

    hibernate3.3.2_参考文档

    Hibernate 3.3.2开始支持使用Java注解来代替XML进行对象关系映射。开发者可以直接在类和属性上使用特定的Hibernate注解,比如`@Entity`、`@Table`、`@Id`、`@Column`等。以下是一个使用注解的User类示例: ```java ...

    hibernate一对多实例

    但在现代的JPA(Java Persistence API)中,我们通常使用注解来代替XML配置。 四、操作一对多关系 1. 插入数据:当插入多方实体(如Employee)时,如果已经存在一方实体(如Department),则可以直接设置引用。...

    第十三章 开发JPA应用.pdf

    JPQL是JPA中用于查询实体的主要语言,它基于SQL,但使用实体类名和属性名代替表名和列名。例如,查找名字为“张三”的顾客: ```java Query query = em.createQuery("SELECT c FROM Customer c WHERE c.name = :...

    HIbernate关系映射

    这种一对一关联的方式比较特殊,它在两个表中都添加了一个外键,同时在配置文件中使用`<many-to-one>`代替`<one-to-one>`。虽然这种方式在官方文档中未明确提及,但在实践中也是可行的。 **配置文件** (`Course.hbm...

    JPA1之java(helloword)

    你可以用它来代替 SQL 进行复杂的查询。例如: ```java List<HelloWorld> findAllByMessageStartsWith(String prefix) { return entityManager.createQuery( "SELECT h FROM HelloWorld h WHERE h.message LIKE :...

    Spring data jpa-reference

    1", hints = @QueryHint(name = "org.hibernate.cacheable", value = "true")) User findByEmail(String email); ``` #### 七、其他特性 1. **规范**:可以通过 `Specification` 接口来构建复杂的查询条件。 ...

    使用Java进行SQL数据库设计

    包括合理选择数据类型,如使用VARCHAR代替CHAR节省空间;设计合适的索引以提高查询速度,例如为主键和经常用于搜索的字段创建唯一索引;以及避免全表扫描,使用JOIN操作时要谨慎,以防止性能下降。 此外,事务管理...

    泛型dao

    然而,泛型DAO也存在局限性,例如无法完全代替ORM框架(如Hibernate),在处理复杂的查询和事务管理时可能显得力不从心。在实际项目中,开发者通常会结合使用泛型DAO和其他设计模式,如Repository模式,以达到最佳的...

    java面试题经典

    - **支持类型**:`byte`、`short`、`char`、`int`以及`String`类型。 - **限制**:不支持`long`和`float`、`double`等类型。 #### 单例模式的实现方式 - **私有构造函数**:确保外部无法直接通过`new`关键字创建...

Global site tag (gtag.js) - Google Analytics