首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hibernate的AttributeConverter和UserType

Hibernate的AttributeConverter和UserType
EN

Stack Overflow用户
提问于 2016-06-21 23:50:07
回答 2查看 3.1K关注 0票数 6

在Java应用程序和MySql之间通信时,我需要在Map和JSON字符串之间进行转换。我遇到了两个非常有希望的解决方案: AttributeConverter和UserType。

选择一种解决方案而不是另一种解决方案有什么利弊?在所有被认为是平等的情况下,AttributeConverter确实看起来简单得多。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-14 23:34:35

AttributeConverter需要JPA2.1 (Hibernate 4.3+),但是如果它可用,它是一个更干净的选择。自定义UserType可能会与未来版本的Hibernate中断,而AttributeConverter可能不会。

请确保在要转换的特定字段上指定@Convert注释,而不是设置autoApply,因为您不希望转换所有映射或所有字符串。

还请确保在映射字符串转换时使用库,而不是手工编码。

票数 13
EN

Stack Overflow用户

发布于 2019-04-07 22:49:57

就比较这些方法而言,大多数情况下,AttributeConverter是一种更干净的解决方案。

与JPA版本的差异相比,还有另一个很大的缺点/差异值得注意:@Convert @Id 属性不一起工作(您将得到反序列化错误)。如果您需要这样的功能,您将不得不求助于UserType

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37956375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档