<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      一天一小步,人生一大步。
      ├學會總結╀學會記錄╀學會生活┦

      出處:(hibernate中使用原生的sql語句,報如下錯誤:)

        MySQL No Dialect mapping for JDBC type: -1
      

      代碼:  

      List list = session.createSQLQuery(sql).list();

      分析:產生些問題的原因是因表中的某個字段類型在hibernate中找不到對應的類型。而導致的,每一種類型都對應一種type:

      類型名稱 顯示長度 數據庫類型 JAVA類型 JDBC類型(int) Types屬性
      VARCHAR L+N VARCHAR java.lang.String 12  Types.VARCHAR
      CHAR N CHAR java.lang.String 1  Types.CHAR
      BLOB L+N BLOB java.lang.byte[] -4  Types.LONGVARBINARY
      TEXT 65535 VARCHAR java.lang.String -1  Types.LONGVARCHAR
      INTEGER 4 INTEGER UNSIGNED java.lang.Long 4  Types.INTEGER
      TINYINT 3 TINYINT UNSIGNED java.lang.Integer -6  Types.TINYINT
      SMALLINT 5 SMALLINT UNSIGNED java.lang.Integer 5  Types.SMALLINT
      MEDIUMINT 8 MEDIUMINT UNSIGNED java.lang.Integer 4  Types.INTEGER
      BIT 1 BIT java.lang.Boolean -7  Types.BIT
      BIGINT 20 BIGINT UNSIGNED java.math.BigInteger -5  Types.BIGINT
      FLOAT 4+8 FLOAT java.lang.Float 7  Types.REAL
      DOUBLE 22 DOUBLE java.lang.Double 8  Types.DOUBLE
      DECIMAL 11 DECIMAL java.math.BigDecimal 3  Types.DECIMAL
      BOOLEAN 1 同TINYINT java.lang.Integer -6  Types.TINYINT
      DATE 10 DATE java.sql.Date 91  Types.DATE
      TIME 8 TIME java.sql.Time 92  Types.TIME
      DATETIME 19 DATETIME java.sql.Timestamp 93  Types.TIMESTAMP
      TIMESTAMP 19 TIMESTAMP java.sql.Timestamp 93  Types.TIMESTAMP
      YEAR 4 YEAR java.sql.Date 91  Types.DATE

      解決方法:1

      更新hibernate方言(因為最新的hibernate言可能提供了對這種類型的支持)以下是言的匯總:

      RDBMS方言
      DB2 org.hibernate.dialect.DB2Dialect
      DB2 AS/400 org.hibernate.dialect.DB2400Dialect
      DB2 OS390 org.hibernate.dialect.DB2390Dialect
      PostgreSQL org.hibernate.dialect.PostgreSQLDialect
      MySQL org.hibernate.dialect.MySQLDialect
      MySQL with InnoDB org.hibernate.dialect.MySQLInnoDBDialect
      MySQL with MyISAM org.hibernate.dialect.MySQLMyISAMDialect
      Oracle (any version) org.hibernate.dialect.OracleDialect
      Oracle 9i/10g org.hibernate.dialect.Oracle9Dialect
      Sybase org.hibernate.dialect.SybaseDialect
      Sybase Anywhere org.hibernate.dialect.SybaseAnywhereDialect
      Microsoft SQL Server org.hibernate.dialect.SQLServerDialect
      SAP DB org.hibernate.dialect.SAPDBDialect
      Informix org.hibernate.dialect.InformixDialect
      HypersonicSQL org.hibernate.dialect.HSQLDialect
      Ingres org.hibernate.dialect.IngresDialect
      Progress org.hibernate.dialect.ProgressDialect
      Mckoi SQL org.hibernate.dialect.MckoiDialect
      Interbase org.hibernate.dialect.InterbaseDialect
      Pointbase org.hibernate.dialect.PointbaseDialect
      FrontBase org.hibernate.dialect.FrontbaseDialect
      Firebird org.hibernate.dialect.FirebirdDialect

      以mysql為例:如果以前org.hibernate.dialect.MySQLDialect,那么現在改成:org.hibernate.dialect.MySQLInnoDBDialect

       

      方法2: 如果更新方言還是不行,那可以自己寫方言,并配置到hibernate中..

      package xm.helper;
      
      import java.sql.Types;
      import org.hibernate.Hibernate;
      import org.hibernate.dialect.MySQLDialect;
      import org.hibernate.dialect.function.StandardSQLFunction;
      
      public class XmMySQLDialect extends MySQLDialect {
      
      
      public XmMySQLDialect (){
              //把報錯的類型注冊到hibernate類型的映射中去....
              registerHibernateType(-1, Hibernate.STRING.getName());
              //也可以把mysql類型注冊到,比如hibernate支持longtext
              registerColumnType(Types.VARCHAR, "longtext");
          }
      }

      修改hibernate的配置文件:

      <property name="hibernate.dialect">xm.helper.XmMySQLDialect</property>

       

      方法3:

      使用原生的jdbc,自己包裝,不使用createSQLQuery()方法;

      public List<Object[]> exeQuery(final String sql) {
              final List<Object[]> results = new ArrayList<Object[]>();
              sessionFactory.openSession().doWork(new Work() {
                  
                  public void execute(Connection paramConnection) throws SQLException {
                      java.sql.PreparedStatement psta = paramConnection.prepareStatement(sql);
                      ResultSet rs = psta.executeQuery();
                      int columnCount = rs.getMetaData().getColumnCount();
                      
                      while(rs.next()){
                          Object[] rows = new Object[columnCount];
                             for (int j=0; j<columnCount; ++j) {
                                 rows[j] = rs.getObject(j+1);
                              }
                             results.add(rows);
                          }
                rs.close();      
                      psta.close();
                      paramConnection.close(); } });
      return results; }

       

      posted on 2013-12-11 11:43  .Xm  閱讀(1260)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 精品日韩人妻中文字幕| 四虎永久精品在线视频| 久久一日本道色综合久久| 午夜不卡欧美AAAAAA在线观看| 永仁县| 99在线小视频| 91蜜臀国产自产在线观看| 无码加勒比一区二区三区四区| 少妇激情av一区二区三区| 亚洲精品成人片在线观看精品字幕| 中文字幕久久国产精品| 伊人av超碰伊人久久久| 亚洲综合网国产精品一区| 夜夜爽日日澡人人添| 亚洲自拍偷拍中文字幕色| 国产国拍亚洲精品永久软件| 国产精品无码无需播放器| 国产热A欧美热A在线视频| 94人妻少妇偷人精品| 欧美一区二区三区性视频| 亚洲午夜激情久久加勒比| 好看的国产精品自拍视频| 亚洲午夜精品国产电影在线观看 | 国产精品毛片一区视频播| 国产一级黄色片在线观看| 少妇高潮灌满白浆毛片免费看| 亚洲综合网国产精品一区| 麻豆a级片| 亚洲AV永久无码一区| 亚洲人成绝网站色www| 国产熟睡乱子伦视频在线播放| 无码人妻一区二区三区精品视频| 国产精品永久在线观看| 日韩大片看一区二区三区| 四川丰满少妇无套内谢| 国产对白熟女受不了了| 亚洲av色夜色精品一区| 精品黄色av一区二区三区 | 国产一级小视频| 在线亚洲午夜片av大片| 兰溪市|