【问题标题】:how to represent oracle blob in play model如何在游戏模型中表示 oracle blob
【发布时间】:2015-09-02 14:39:03
【问题描述】:

我需要将一个 BLOB 列(字段名称:FOTO)从 Oracle 加载到 Java Play Framework。我尝试在我的模型中使用 java.sql.Blob(模型名称:ESTUDIANTE),但出现此错误。

[error] c.a.e.s.t.r.ImmutableMetaFactory - Was unable to use reflection to find a constructor and appropriate getters forimmutable type interface java
.sql.Blob.  The errors while looking for the getter methods follow:
[error] c.a.e.s.d.p.DeployCreateProperties - Error with models.Estudiante field:foto
java.lang.RuntimeException: Unable to use reflection to build ImmutableMeta for interface java.sql.Blob.  Associated Errors trying to find a construct
or and getter methods have been logged
        at com.avaje.ebeaninternal.server.type.reflect.ImmutableMetaFactory.createImmutableMeta(ImmutableMetaFactory.java:53) ~[avaje-ebeanorm.jar:na]

        at com.avaje.ebeaninternal.server.type.DefaultTypeManager.recursiveCreateScalarTypes(DefaultTypeManager.java:205) ~[avaje-ebeanorm.jar:na]
        at com.avaje.ebeaninternal.server.deploy.parse.DeployCreateProperties.createProp(DeployCreateProperties.java:321) [avaje-ebeanorm.jar:na]
        at com.avaje.ebeaninternal.server.deploy.parse.DeployCreateProperties.createProp(DeployCreateProperties.java:341) [avaje-ebeanorm.jar:na]
        at com.avaje.ebeaninternal.server.deploy.parse.DeployCreateProperties.createProperties(DeployCreateProperties.java:128) [avaje-ebeanorm.jar:na
]
        at com.avaje.ebeaninternal.server.deploy.parse.DeployCreateProperties.createProperties(DeployCreateProperties.java:54) [avaje-ebeanorm.jar:na]

我做错了吗?是否有另一种 java 数据类型来处理 blob?

【问题讨论】:

    标签: java oracle playframework-2.2


    【解决方案1】:

    你也可以使用 javax.persistence.Lob;

    @Lob
    //Use basic annotation only if you need to LAZY load. 
    @Basic(fetch = LAZY)
    public byte[] data; 
    

    默认情况下,@Basic(fetch=EAGER) 在 Java 原语上提供,因此在这种情况下 @Basic 注释 documentation 是可选的。

    【讨论】:

    • 感谢回复,我没有再收到错误了,但是foto 字段总是得到空值,我检查数据库字段不为空,这可能是什么?
    • 你使用了 fetch=LAZY 吗?如果您想获取 EAGER,请尝试 fetch=EAGER
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-16
    • 1970-01-01
    • 2010-11-06
    • 1970-01-01
    • 1970-01-01
    • 2011-09-17
    相关资源
    最近更新 更多