Есть ли простой способ сопоставить varchar2 (1) («1» или «0») с логическим типом JPA

1

Я понимаю, что карта по умолчанию - от типа данных oracle NUMBER(1) до JPA java Boolean, но не уверен, что по умолчанию используется varchar2(1) (она либо "1", либо "0") для JPA java boolean? Это то же самое, что и сопоставление с NUMBER (1)?

Не уверен, что следующая идея в порядке, перешедшей из здесь:

public class People{

    @ExternalValues({"true=1", "false=0"})
    @Type(String.class)
    private Boolean weird;

    ...
}

Я использую OpenJPA 2.2.0 здесь. благодаря

  • 0
    Какую версию JPA вы используете?
  • 0
    @Luiggi Mendoza OpenJPA 2.2.0, соответствует спецификации JPA 2.0 :)
Показать ещё 2 комментария
Теги:
jpa
java-ee
openjpa

1 ответ

1

вы можете использовать литье типов в методах getter, setter и использовать String для вашего типа данных свойства.

@Column(length=1 )
private String string;  

public Boolean getString() {
    return Boolean.valueOf(string) ;
}

public void setString(Boolean string) {
    this.string =  (string) ? "1" : "0";
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню