代码之家  ›  专栏  ›  技术社区  ›  Quang Dat Pham

无法设置com.mysql.jdbc.blob

  •  1
  • Quang Dat Pham  · 技术社区  · 8 年前

    我已将PDF文件保存在数据库中。当我得到它时,看到错误。

    @Lob
        @Basic(fetch = FetchType.LAZY)
        @Column(name = "CONTENT", nullable = false)
        private Blob content;
    

    SEVERE: Servlet.service() for servlet [dispatcher] in context with path [/libsmanager] threw exception [Request processing failed; nested exception is org.hibernate.PropertyAccessException: Could not set field value [com.mysql.jdbc.Blob@65bb08cc] value by reflection : [class com.quangdat.entities.TrialBook.content] setter of com.quangdat.entities.TrialBook.content] with root cause
    java.lang.IllegalArgumentException: Can not set com.mysql.jdbc.Blob field com.quangdat.entities.TrialBook.content to com.sun.proxy.$Proxy222
    
    1 回复  |  直到 8 年前
        1
  •  3
  •   Alien    8 年前

    使用这个。

    @Column( name = "CONTENT" )
    @Lob(type = LobType.BLOB)
    private byte[] content;
    

    注释 :上述方法依赖于Hibernate版本,lob注释不能有任何类型参数。这里引用:@lob不再有属性,lob类型(clob,blob)被猜测。如果基础类型是字符串或字符数组,则使用CLOB。使用其他斑点。

    推荐文章