Открыть JPA - двоичное определение столбца - PullRequest
2 голосов
/ 03 ноября 2010

Я пытаюсь установить тип столбца в OpenJPA как двоичный (5), поэтому я использую следующее объявление:

@Column(name="MY_FIELD", columnDefinition="BINARY(5)")
public byte[] getMyField() {
    return myField;
}

Однако столбец всегда создается как большой двоичный объект:

| MY_FIELD   | blob         | YES  |     | NULL    |                |

Есть какие-нибудь подсказки, как заставить это работать?

Ответы [ 2 ]

2 голосов
/ 03 ноября 2010

Это ошибка в OpenJPA, представленная OPENJPA-740 . Я открыл сообщение об ошибке от вашего имени: OPENJPA-1870 .

0 голосов
/ 03 ноября 2010

Документ Hibernate говорит, что должна использоваться аннотация @Lob:

@ Lob указывает, что свойство должно сохраняться в Blob или Clob в зависимости от типа свойства: java.sql.Clob, Character [], char [] и java.lang.String будут сохранены в Clob. java.sql.Blob, Byte [], byte [] и сериализуемый тип будут сохранены в BLOB-объекте.

Он хорошо работает с Hibernate: с OpenJPA все будет в порядке, поскольку в документации говорится, что @Lob обрабатывается "стандартным образом JPA".

...