gpt4 book ai didi

java - JPA 属性 java.net.URL

转载 作者:搜寻专家 更新时间:2023-10-30 21:08:32 26 4
gpt4 key购买 nike

你好,

我有一个对象,它有一段与之关联的 URL 信息。目前我将这个 URL 保存在一个简单的 String 属性中,但是 java.net.URL 会为我提供额外的好处,例如检测格式错误的 URL 等。

另一方面,如果 JPA 只是为 URL 对象创建一个 LOB,我会认为它非常难看。有谁知道如何将 java.net.URL 类型的属性保存到合规 JPA 提供商的数据库?

最佳答案

根据 JPA 规范:

The persistent fields or properties of an entity maybe of the following types: Java primitive types; java.lang.String; other Java serializable types (including wrappers of the primitive types, java.math.BigInteger, java.math.BigDecimal, java.util.Date, java.util.Calendar[7], java.sql.Date, java.sql.Time, java.sql.Timestamp, user-defined serializable types, byte[], Byte[], char[], andCharacter[]); enums; entity types and/or collections of entity types; and embeddable classes (see section 2.1.5).

加上对集合的支持。但是没有对 URL 的原始支持。但是,它们将作为 Serializable 得到支持,我猜这会导致您提到的 LOB。

但是您应该能够轻松地规避它:您可以将 URL 作为字段中的 String 和从 String 转换为 的 getter/setter >URL 虽然。然后用注释映射该字段。

或者相反:字段中的java.lang.URL,getter/setter将URL转换为String,然后您使用注释映射 getter/setter。我认为它也有效。

关于java - JPA 属性 java.net.URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2355260/

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