2015-09-02 6 views
0

Мне нужно загрузить столбец BLOB (имя поля: FOTO) из Oracle в Java Play Framework. Я попытался использовать java.sql.Blob в моей модели (название модели: ESTUDIANTE), но я получаю эту ошибку.как изобразить оракул blob в игре модели

[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?

ответ

2

Вы также можете использовать javax.persistence.Lob;

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

По умолчанию @Basic (выборка = EAGER) предусмотрен на ява примитивов, так аннотирования @Basic является необязательным в этом случае documentation.

+0

Спасибо за ответ, я больше не получаю ошибку, но поле 'foto' всегда получает нулевое значение, я проверяю, что поля базы данных не пустые, что это может быть? – Aramillo

+0

Вы использовали fetch = LAZY? если вы хотите получить EAGER, попробуйте как fetch = EAGER –

+0

В этом была проблема. Теперь работает!. благодаря – Aramillo

Смежные вопросы