jpa 参数绑定布尔类型_使用Hibernate JPA的自定义布尔用户类型

这篇博客介绍了在遇到数据库中布尔类型用'Y'/N'或'Ja'/N'表示时,如何使用Hibernate自定义UserType来处理这种非标准布尔类型。内容包括为何需要自定义UserType,一个特定于荷兰传统数据库架构的JaNeeType示例,并展示了实现UserType和ParameterizedType接口的代码片段。
摘要由CSDN通过智能技术生成

jpa 参数绑定布尔类型

ANSI SQL 1999标准引入了BOOLEAN数据类型(尽管遗憾的是仅作为可选功能)。 但是到目前为止,大多数主要的数据库系统仍未实现它。 结果,布尔列以各种方式实现。 例如,包含“ Y”或“ N”的CHAR列,或使用BIT列。 随后,JPA无法提供将实体的布尔字段映射到数据库列的标准化方法。

Hibernate为使用包含“ Y”或“ N”字符的CHAR(1)列的布尔实现提供了一个自定义YesNoType。 但是对于其他实践,您基本上必须提供自己的解决方案。 幸运的是,Hibernate提供了创建自己的自定义UserType的可能性。 在此博客条目中,我将提供一个这样的自定义布尔UserType的示例。

最近,我遇到了一个荷兰传统数据库架构,其中“ Y”(表示“是”)和“ N”(表示“否”)分别由“ J”(“ ja”)和“ N”(“ nee”)表示, 分别。 这排除了使用Hibernate的YesNoType。 更复杂的是,其中有些列使用CHAR(1),另一些使用带有填充空间的CHAR(2)–不要问为什么!

因此,我最终编写了一个自定义UserType,使我基本上可以转换以下内容…

起点


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值