gpt4 book ai didi

java - 我的 JPA/Hibernate 自定义类型有什么问题?

转载 作者:行者123 更新时间:2023-11-30 23:46:58 25 4
gpt4 key购买 nike

我的自定义类型是(没有默认构造函数!):

package com.XXX.common;
public class Email implements Serializable {
private String e;
public Email(String str) {
e = str;
}
}

我在 Hibernate 3.5.6 中的实体:

package com.XXX.persistence;
import com.XXX.common;
@Entity
@TypeDef(
name = "email",
defaultForType = Email.class,
typeClass = Email.class
)
public class User {
@Id private Integer id;
@Type(type = "email")
private Email email;
}

hibernate 说:

org.hibernate.MappingException: Could not determine type for:
com.XXX.common.Email, at table: user, for columns:
[org.hibernate.mapping.Column(email)]

我做错了什么?

最佳答案

My custom type is (no default constructor!) (...)

自定义类型必须实现 org.hibernate.usertype 中的接口(interface)之一(实现 UserType 对于您的特定示例就足够了),您的 Email不是自定义类型。换句话说,您需要创建一些 EmailType 类,Hibernate 将使用该类来持久化 Email 类型的字段或属性。

PS:在 IMO 中,用类包装 String 没有太大值(value),但我们假设这是一个示例。

引用资料

资源

关于java - 我的 JPA/Hibernate 自定义类型有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3829193/

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