在数据库中存储Double.POSITIVE_INFINITY(EJB实体/ JBoss)
|
我有以下简单的JPA实体:
@Entity
@Table( name = myentity_table )
public class MyEntity {
private double a;
private double b;
//(...)
}
a和b可以设置为Double.POSITIVE_INFINITY
。当我尝试使用标准实体管理器将双重设置为+ INF的实体存储到数据库(MySQL)中时,出现异常:
java.sql.SQLException:\'Infinity \'不是有效的数字或近似数字值
据我所知,MySQL可能不支持NaN / -INF / + INF编号。有什么方法可以存储该实体而无需编写HQL查询并将+ INF转换为null(或max double)?理想情况下,我希望像往常一样通过实体管理器来执行此操作。
提前致谢。
没有找到相关结果
已邀请:
3 个回复
朗排谎纷瘟
览幕堤分
。 建议您不要使用
和
(或
等效项),而不要使用无穷大 如果在设置值时无法在代码中执行此操作,请按照建议的ѭ7进行操作。
黎喊病
,
和
的文本表示来解决此问题,而原始列将存储
。 然后,我使用setter和getter来管理这两列。 在我的@Entity类中
结果: