【问题标题】:Mapping Oracle types to Hibernate types将 Oracle 类型映射到 Hibernate 类型
【发布时间】:2011-12-16 09:44:04
【问题描述】:

我正在使用休眠工具自动创建一个表示 Oracle 数据库中表的类,该表有大量列(60 或更多)我已经映射了我认为休眠类型应该是的,我'显然映射了一些错误,因为我在尝试查询表时得到以下信息

原因:java.sql.SQLException: 无法转换为内部 代表在 oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:111) 在 oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:145) 在 oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:207) 在 oracle.jdbc.driver.CharCommonAccessor.getLong(CharCommonAccessor.java:238) 在 oracle.jdbc.driver.OracleResultSetImpl.getLong(OracleResultSetImpl.java:557) 在 oracle.jdbc.driver.OracleResultSet.getLong(OracleResultSet.java:1574) 在 org.hibernate.type.descriptor.sql.BigIntTypeDescriptor$2.doExtract(BigIntTypeDescriptor.java:61) 在 org.hibernate.type.descriptor.sql.BasicExtractor.extract(BasicExtractor.java:64) 在 org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:254) 在 org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:250) 在 org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:230) 在 org.hibernate.type.AbstractStandardBasicType.hydrate(AbstractStandardBasicType.java:331) 在 org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:2283) 在 org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1527) 在 org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1455) 在 org.hibernate.loader.Loader.getRow(Loader.java:1355) 在 org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:611) 在 org.hibernate.loader.Loader.doQuery(Loader.java:829) 在 org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:274) 在 org.hibernate.loader.Loader.doList(Loader.java:2542) ... 9 更多

显然,由于有超过 60 列,要找出我映射不正确的列并不容易,所以我正在寻找一些关于映射到什么类型的建议。目前我做了以下假设

NUMBER(Max length of 12 min length of 2) -> long
VARCHAR2(Max length of 1000 min length of 1) -> string
DATE -> timestamp

编辑:为了澄清上述内容,我的数字列的大小范围为 NUMBER(2) - NUMBER(12)。和 VARCHAR2 列范围从 VARCHAR2(1) - VARCHAR2(1000)

【问题讨论】:

    标签: oracle hibernate oracle10g


    【解决方案1】:

    好的排序它没有映射类型,这是我将列映射到 long 而它应该是一个字符串的问题。

    【讨论】:

      猜你喜欢
      • 2015-02-24
      • 2010-09-25
      • 2015-09-29
      • 1970-01-01
      • 2011-03-11
      • 2012-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多