程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Hibernate JPA,MySQL和TinyInt(1)用于布尔值而不是bit或char大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Hibernate JPA,MySQL和TinyInt(1)用于布尔值而不是bit或char?

开发过程中遇到Hibernate JPA,MySQL和TinyInt(1)用于布尔值而不是bit或char的问题如何解决?下面主要结合日常开发的经验,给出你关于Hibernate JPA,MySQL和TinyInt(1)用于布尔值而不是bit或char的解决方法建议,希望对你解决Hibernate JPA,MySQL和TinyInt(1)用于布尔值而不是bit或char有所启发或帮助;

试试吧NumericBooleanType。由于某种原因,它没有声明的简短类型名称,因此您必须使用:

@Column(nullable = false)
@Type(type = "org.hibernate.type.NumericBooleanType")
private boolean enabled;

这确实映射为INTEGER类型,但可能与tinyint一起正常工作。

UPDATE:org.hibernate.type.NumericBooleanType不会 不会 在一些RDBMS与tinyint工作。将数据库列类型切换为INTEGER。或根据需要使用其他Java @Type值或columnDeFinition。

在此示例中,Dude的答案@Column(nullable = false, columnDeFinition = "tinyint(1)")将有效,而无需任何数据库更改。

解决方法

这是我的JPA2 / Hibernate定义:

Code:
@Column(nullable = false)
private boolean enabled;

在MySql中,此列解析为bit(1)数据类型-
不适用于我。对于遗留问题,我需要将布尔值映射到tinyint而不是一点点。但是我看不到更改默认数据类型的可能性。有没有?

大佬总结

以上是大佬教程为你收集整理的Hibernate JPA,MySQL和TinyInt(1)用于布尔值而不是bit或char全部内容,希望文章能够帮你解决Hibernate JPA,MySQL和TinyInt(1)用于布尔值而不是bit或char所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: