我想尝试让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,在表联系人列......”
谢谢,
答案 0 :(得分:0)
您正在寻找@Converter。 为每个XXWrapper类定义一个,您可以根据需要在实体类中使用它们。可以在这里找到一个如何做到这一点的简短示例(通过简单搜索" JPA转换器"):
http://www.thoughts-on-java.org/2013/10/jpa-21-how-to-implement-type-converter.html