13 Replies Latest reply on Jul 8, 2014 10:38 PM by Gail Badner

    Error when persisting a lob

    Chad Martin Newbie

      I am getting an error when i try to persist an Lob. Does anyone know what this error means?

       

      Caused by: java.lang.IllegalArgumentException: interface org.hibernate.engine.jdbc.BlobImplementer is not visible from class loader

              at java.lang.reflect.Proxy.getProxyClass0(Proxy.java:487) [rt.jar:1.7.0_45]

              at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:722) [rt.jar:1.7.0_45]

              at org.hibernate.engine.jdbc.BlobProxy.generateProxy(BlobProxy.java:176)

              at org.hibernate.engine.jdbc.NonContextualLobCreator.createBlob(NonContextualLobCreator.java:50)

              at org.hibernate.type.descriptor.java.SerializableTypeDescriptor.unwrap(SerializableTypeDescriptor.java:118)

              at org.hibernate.type.descriptor.java.SerializableTypeDescriptor.unwrap(SerializableTypeDescriptor.java:44)

              at org.hibernate.type.descriptor.sql.BlobTypeDescriptor$4$1.doBind(BlobTypeDescriptor.java:133)

              at org.hibernate.type.descriptor.sql.BasicBinder.bind(BasicBinder.java:90)

              at org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:286)

              at org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:281)

              at org.hibernate.type.AbstractSingleColumnStandardBasicType.nullSafeSet(AbstractSingleColumnStandardBasicType.java:56)

              at org.hibernate.persister.entity.AbstractEntityPersister.dehydrate(AbstractEntityPersister.java:2843)

              at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3121)

              at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3581)

              at org.hibernate.action.internal.EntityInsertAction.execute(EntityInsertAction.java:104)

              at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:463)

              at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:349)

              at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:350)

              at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:56)

              at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1222)

              at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:425)

              at org.hibernate.engine.transaction.synchronization.internal.SynchronizationCallbackCoordinatorNonTrackingImpl.beforeCompletion(SynchronizationCallbackCoordinatorNonTrackingImpl.java:110)

              ... 24 more

       

      My persistence class is:

      public class FooEntity implements Serializable {   

          private static final long serialVersionUID = 1L;

          private String name;

       

          @Id

          @GeneratedValue

          private Long id;

         

          @Column(nullable = false)

          private Date timeStamp;

       

          @Lob

          private Foo message;

          private String address;

       

          public VehicleStatusWrapperEntity() {

          }

         

          public VehicleStatusWrapperEntity(Foo message) {

              this.message = message;

          }

       

          public String getName() {

              return name;

          }

       

          public void setName(String name) {

              this.name = name;

          }

       

          public void setId(Long id) {

              this.id = id;

          }

       

          public Long getId() {

              return id;

          }

         

          public String getAddress() {

              return address;

          }

         

          public void setAddress(String address) {

              this.address = address;

          }

         

          public Foo getMessage() {

              return message;

          }

         

          public void setMessage(Foo message) {

              this.message = message;

          }

       

          public void setTimeStamp(Date timeStamp) {

              this.timeStamp = timeStamp;

          }

       

          public Date getTimeStamp() {

              return timeStamp;

          }

      }