[英]Boolean true value in Hibernate
是否可以将hibernate设置为保存-1而不是1作为数据库中布尔字段的真值? 我需要-1来保持与Delphi中的其他程序的兼容性。
@Type(type="com.sample.type.CustomClass")
@Column(name = "TEST_FLAG")
private boolean testFlag;
@Type
注释需要实现userType接口的类的完整路径; 这是用于生成映射列的目标类型的工厂
CustomClas.java实现了hibernate提供的UserType接口
UserType实现使开发人员可以挂钩自定义逻辑/实现,并充当关系数据库和类属性之间的适配器。
您需要使用以下方法编写转换逻辑。
nullSafeGet()
:根据结果集返回的数据创建自定义对象 nullSafeSet()
:将自定义对象转换为需要传递给nullSafeSet()
准备语句的值 检查API以获取有关hibernate站点的详细信息。
为什么不使用Integer而不是Boolean?
Integer value;
public void setValue(Boolean b) {
this.value = (b != null ? (b ? -1 : 0) : null);
}
public Boolean getValue() {
return (this.value != null ? (this.value == -1 ? true : false) : null);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.