gpt4 book ai didi

java - 如何在 Hibernate 中放置自定义类型

转载 作者:行者123 更新时间:2023-12-02 01:23:17 25 4
gpt4 key购买 nike

我正在使用 Hibernate、JPA 和 Spring Boot。

我想保留一个“版本”类型的自定义对象。 “Version”是一个处理复杂的Object,但它在表中对应的是一个简单的VARCHAR字段。我能够从 String 构造 Version 并从 Version 对象构造 String。

class MyEntity {

@Column("version_sw")
private Version version; <-- I would like to persist version as a String
}

我正在寻找创建 hibernate 类型的不同方法:

  • UserType:对我来说似乎太过分了,因为我的对象仅映射到数据库中的一列。
  • BasicType(带有 AbstractTypeDescriptor):看起来不错,但不确定这是否是正确的方法
  • CompositeUserType:似乎不适合我的需求

是否有一种缺失且简单的方法可以做到这一点?

谢谢!!

最佳答案

如果我理解你只需要将对象转换为字符串并保存在数据库中,为此你可以使用 JPA 属性转换器,这样你就可以将复杂的对象转换为字符串(例如某种 json)并保存它 table 上。要在您的系统上使用,您必须将字符串转换为一个对象。
试试这个:https://thoughts-on-java.org/jpa-21-how-to-implement-type-converter/

关于java - 如何在 Hibernate 中放置自定义类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57307040/

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