Java @JPA和Oracle 12中的Lob注释

Java @JPA和Oracle 12中的Lob注释,java,oracle,osgi,eclipselink,Java,Oracle,Osgi,Eclipselink,我正在为我的一个项目使用EclipseLink2.5.2。我的问题如下,我有一个属性注释如下: @Basic() @Column(name = "myName") @Lob private String myName = null; 但自动生成的数据库表(在oracle 12中)的长度为4000个字符 我在互联网上读到,问题似乎是JPA无法识别数据库为oracle,我尝试使用: 但它引发了以下异常: Exception Description: Database platform class

我正在为我的一个项目使用EclipseLink2.5.2。我的问题如下,我有一个属性注释如下:

@Basic()
@Column(name = "myName")
@Lob
private String myName = null;
但自动生成的数据库表(在oracle 12中)的长度为4000个字符

我在互联网上读到,问题似乎是JPA无法识别数据库为oracle,我尝试使用:

但它引发了以下异常:

Exception Description: Database platform class [org.eclipse.persistence.platform.database.oracle.Oracle11Platform] not found.
Internal Exception: Exception [EclipseLink-3007] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.ConversionException
Exception Description: The object [org.eclipse.persistence.platform.database.oracle.Oracle11Platform], of class [class java.lang.String], could not be converted to [class java.lang.Class].  Ensure that the class [class java.lang.Class] is
 on the CLASSPATH.  You may need to use alternate API passing in the appropriate class loader as required, or setting it on the default ConversionManager
Internal Exception: java.lang.ClassNotFoundException: org.eclipse.persistence.platform.database.oracle.Oracle11Platform
        at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:766)
        at org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.getAbstractSession(EntityManagerFactoryDelegate.java:204)
        at org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.createEntityManagerImpl(EntityManagerFactoryDelegate.java:304)
        at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:336)
我正在开发的应用程序是一个基于Equinox的OSGi应用程序

我已经检查并定义了org.eclipse.persistence.platform.database.oracle.Oracle11Platform,其包(“org.eclipse.persistence.oracle”)被定义为org.eclipse.persistence.core包的一个片段


谢谢您的提示。

问题看起来像是oracle的问题。即使我用命令行创建数据库表,lob列的长度也限制在4000个字符以内。你说的命令行是什么意思?在没有Oracle11平台集的情况下使用持久化单元?Oracle11Platform类必须存在,否则EclipseLink将使用不支持Oracle clob的通用DatabasePlatform类。