假设我有String属性fullName
,但我想将它表示为两个单独的字符串,如下例所示。
是否可以设置Hibernate以便将全名存储在单个列中并使用访问器方法(getFullName
,setFullName
)来执行此操作?
问题是我不想要声明 - 只是为了让Hibernate满意 - 一个不必要的字符串字段fullName
将不会被使用,因为这会降低代码的清晰度
String lastName;
String firstName;
public String getFullName() {
return firstName+" "+lastName;
}
public void setFullName(String n) {
firstName=extractFirstName(n);
lastName=extractLastName(n);
}
答案 0 :(得分:1)
您可以使用transient
注释来使Hibernate忽略方法:
@Transient
public String getFullName() {
return firstName+" "+lastName;
}
@Transient
public void setFullName(String n) {
firstName=extractFirstName(n);
lastName=extractLastName(n);
}
答案 1 :(得分:1)
是的,您可以注释getFullname方法以将其存储到数据库中的列。
检查此链接:
Hibernate Annotations - Which is better, field or property access?