有没有一种简单的方法将varchar2(1)(“1”或“0”)映射到JPA布尔类型

时间:2014-12-16 14:53:07

标签: java oracle java-ee jpa openjpa

我理解默认地图是从oracle数据类型NUMBER(1)到JPA java Boolean,但不确定是否存在来自varchar2(1)的默认转换(它是' 1& #39;或' 0')到JPA java boolean?它与从NUMBER(1)映射的方式相同吗?

不确定以下想法是否正确,请参考here

public class People{

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

    ...
}

我在这里使用的是OpenJPA 2.2.0。感谢

1 个答案:

答案 0 :(得分: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";
}