在JPA中有一个注释来指定布尔字段应该作为整数持久化。 我正在使用OpenJPA,它目前将布尔字段保存为位。我宁愿使用整数1或0。
答案 0 :(得分:12)
您可以指定列定义:
@Column(name="boolColumn",
columnDefinition="INT(1)")
答案 1 :(得分:7)
您可以使用以下注释:
@Type(type="numeric_boolean")
如果你想写Y和N而不是0,1,你可以使用
@Type(type="yes_no")
答案 2 :(得分:0)
很长一段时间以后才开始思考这个问题,但是与Hibernate 4.3.7更高版本相关,您可以使用
import org.hibernate.annotations.Type;
@Column(name="enabled1", nullable=false)
@Type(type = "org.hibernate.type.NumericBooleanType")
public Boolean getEnabled() {
return this.enabled;
}
所示
已经在从PostgreSQL到Oracle的迁移中进行了测试,以避免对JPA实体造成影响