Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hibernate:将字符串属性映射到CLOB列_Java_Oracle_Hibernate - Fatal编程技术网

Java Hibernate:将字符串属性映射到CLOB列

Java Hibernate:将字符串属性映射到CLOB列,java,oracle,hibernate,Java,Oracle,Hibernate,我正在努力实现这一目标。我提到了这个,但没有为我工作。这是我的实体类: @Entity @Table(name = "DICTIONARY") public class Dictionary{ public Dictionary() {} @Id @GeneratedValue @Column(name = "DICTIONARY_ID") private BigDecimal dictId; @Column(name = "DICT

我正在努力实现这一目标。我提到了这个,但没有为我工作。这是我的实体类:

@Entity
@Table(name = "DICTIONARY")
public class Dictionary{  

    public Dictionary() {}

    @Id
    @GeneratedValue
    @Column(name = "DICTIONARY_ID")  
    private BigDecimal dictId;

    @Column(name = "DICTIONARY_DESCRIPTION")
    private String description;

    @Lob
    @Column(name = "DICTIONARY_BIGTEXT_DESCRIPTION") //CLOB column in Oracle
    private String bigTextDescription; 

   //Getters and Setters...
}
下面是我的hibernate.cfg.xml:

<hibernate-configuration>

  <session-factory>

    <property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>
    <property name="connection.driver_class">oracle.jdbc.OracleDriver</property>
   <property name="connection.url">........</property> 

    <property name="connection.username">.....</property> 
   <property name="connection.password">.....</property> 
    <property name="connection.pool_size">10</property>
    <property name="connection.autocommit">false</property>

    <property name="cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>

    <property name="transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
    <property name="current_session_context_class">thread</property>
    <property name="hibernate.show_sql">true</property>
    <property name="show_sql">true</property>
    <property name="format_sql">false</property>
    <property name="hibernate.jdbc.use_get_generated_keys">true</property>
    <property name="hibernate.default_schema">MYDB</property>

    <mapping class="com.model.to.Dictionary"/> 

  </session-factory>

</hibernate-configuration>
我使用的是Hibernate版本4.3.11.Final和ojdbc6 11.2.0.4.jar。如果我还缺什么,请告诉我。 提前谢谢

编辑:我只在Tomcat服务器中面对这个问题。当我在Glassfish服务器上测试时,代码运行良好。

尝试使用for id

@GeneratedValue(strategy = GenerationType.AUTO)
和使用

@Lob(type = LobType.BLOB)
private String bigTextDescription;
并确保您有兼容的版本

此异常有多种解决方法。这一例外可能会发生 由于与一起使用的Tomcat服务器的版本而发生 mysql连接器java版本和dpcp实现 (commons.dbcp或tomcat dbcp)被使用,当然是它的版本

根据聊天中的讨论,OA@Shahe正在使用Tomcat 7以及 mysql连接器java版本5.1.35是最新版本,但@Shahe是 将commons.dpcp与版本1.2.2一起使用是个问题

因此,将commons dpcp版本更新为1.4或最新版本将解决此问题 这个问题


现在有点晚了,但我解决了这个问题,所以现在就发布答案。 我刚刚添加了以下依赖项,它成功了:

        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-dbcp2</artifactId>
            <version>2.0</version>
        </dependency>

org.apache.commons
commons-dbcp2
2

谢谢您的回复。我正在使用Tomcat7.0。我在Eclipse中签入了Maven依赖项,但找不到任何commons dpcp jar文件。我可以检查版本吗。发布你的build.gradle或pom.xml编辑了我的问题。type=LobType.BLOB对@Lob有效吗?Ekansh Rastogi:您找到了检测commons dpcp jar的方法吗?
@Lob(type = LobType.BLOB)
private String bigTextDescription;
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-dbcp2</artifactId>
            <version>2.0</version>
        </dependency>