Java Hibernate在Getter中保存具有异常数据类型的对象

Java Hibernate在Getter中保存具有异常数据类型的对象,java,hibernate,Java,Hibernate,我想让hibernate保存我的对象,但要使用包装好的数据类型,而不是像int、String等一般数据类型。 例如,如下面的类联系人: public class Contact { private StringWrapper firstName; private StringWrapper lastName; private StringWrapper email; private IntegerWrapper id; public StringWrapper getEmail()

我想让hibernate保存我的对象,但要使用包装好的数据类型,而不是像int、String等一般数据类型。 例如,如下面的类联系人:

public class Contact {
 private StringWrapper firstName;
 private StringWrapper lastName;
 private StringWrapper email;
 private IntegerWrapper id;


 public StringWrapper getEmail() {
  return email;
 }


 public StringWrapper getFirstName() {
  return firstName;
 }


 public StringWrapper getLastName() {
  return lastName;
 }


 public void setEmail(StringWrapper StringWrapper) {
  email = StringWrapper;
 }


 public void setFirstName(StringWrapper StringWrapper) {
  firstName = StringWrapper;
 }


 public void setLastName(StringWrapper StringWrapper) {
  lastName = StringWrapper;
 }


 public IntegerWrapper getId() {
  return id;
 }


 public void setId(IntegerWrapper i) {
  id = i;
 }

}
我在那个类中有保存在StringWrapper和IntegerWrapper对象中的值。我必须在StringWrapper中使用getString方法,在IntegerWrapper中使用getInteger来获取实际值

我可以用hibernate保存对象,但之前要保存的值可以通过调用getString和getInteger方法获得吗?因为,若我强制使用hibernate保存,我将得到一条消息,消息无法确定:StringWrapper的类型,列的表联系人


谢谢,

您正在寻找@Converter。 为每个XXWrapper类定义一个类,您就可以在实体类中任意使用它们。通过简单搜索JPA转换器,可以在此处找到一个简短的示例: