gpt4 book ai didi

java - 是否可以将列类型映射到另一个对象属性类?

转载 作者:太空宇宙 更新时间:2023-11-04 06:21:10 25 4
gpt4 key购买 nike

我的某些表中的列是 int/integer,其中 0=false 且 1=true,我可以将其映射到 boolean 对象属性吗?

类似于:

   public class...
//instead of
private int playeble;
//something like
@AwesomAnnotationConvertion(....)
private boolean playeble;

我正在使用 Hibenate,但我们将迁移到 EclipseLink,因此我更喜欢标准实现(如果确实存在)。

最佳答案

使用@Convert@Converter :

public class YourEntity {
@Convert(converter=BooleanOneZeroConverter.class)
private Boolean playable;
}

@Converter
public class BooleanOneZeroConverter implements AttributeConverter<Boolean, Integer> {
private static final Integer TRUE_VALUE = 1;
@Override
public Integer convertToDatabaseColumn(Boolean value) {
//1 is true, 0 is false
return Boolean.TRUE.equals(value) ? 1 : 0;
}
@Override
public Boolean convertToEntityAttribute(Integer value) {
return TRUE_VALUE.equals(value);
}
}

请注意,上面的代码适用于 JPA 2.1。

关于java - 是否可以将列类型映射到另一个对象属性类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27403513/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com