使用spring,不管用什么数据库,hibernate里日期字段的配置都是一样的啊 ?

解决方案 »

  1.   

    java.sql.DatabaseMetaData.getDriverName()
      

  2.   

    既然用了hibernate,就不应该再使用to_date这种数据库特有的词法,用?占位,setDate的方式绑定参数就什么数据库都通用了
      

  3.   

    chouchy(城市刀客)
    提到的这个我明天上班试试‘java.sql.DatabaseMetaData.getDriverName()‘;先谢谢了。其实我也想避免使用to_date这种oracle特有的函数。
     但现在遇到的问题是这样的,不得不用;
    查询两个表,需要取两个表的一些联合字段。即这些字段存在于这两个表。再java中习惯于将这些字段声明为一个基础类。只是这些类不像表映射类有自己的 ..hbm.xml 文件,不对应实体表。
    这种查询两表取中间字段。在用Hibernate Session 做的查询中 Iterator it = session.createQuery("").list.iterator; 问题是将遍历的  it.next();赋值给刚手动声明的java基础类。会出现 classCastException .我不知道有什么办法用hibernate查询 两表可以将结果复制给 这个联合属性组成的基础类实例。有什么好的方法吗?
       我只好用JDBC Connetion 的 结果集ResultSet ,操纵结果集 一个一个的给基础类中个属性赋值,但用到中jdbc 的链接 写的sql语句 我就避免不了直接setDate了。
      

  4.   

    谢谢,csdn,让我学java时候,像有了家的感觉!
      

  5.   

    写sql语句也可以用PreparedStatement + setDate的啊,干吗要用to_date呢?
      

  6.   

    今天试了下用这个java.sql.DatabaseMetaData.getDriverName()‘;可以解决问题了。
    而用?占位 取代将日期变量直接放入sql语句中,用hibernate的 Query ,setDate()也是可以的。