Hibernate在Getter中使用异常数据类型保存对象

时间:2015-03-12 15:54:50

标签: java hibernate

我想尝试让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,在表联系人列......”

谢谢,

1 个答案:

答案 0 :(得分:0)

您正在寻找@Converter。 为每个XXWrapper类定义一个,您可以根据需要在实体类中使用它们。可以在这里找到一个如何做到这一点的简短示例(通过简单搜索" JPA转换器"):

http://www.thoughts-on-java.org/2013/10/jpa-21-how-to-implement-type-converter.html