Java Hibernate:映射同一列中的两个属性
在hibernate中,是否可以使用同一类的两个属性映射同一列,并且是否可以在查询中引用这两个属性? 这听起来毫无意义,但我所做的一切都是值得的。 在下面的示例中,我可以标记第二个getter@Transient来保留第二个getter,但在查询中会丢失别名,因此我希望同时保留“myPropertyAliasOne”和“myPropertyAliasTwo”Java Hibernate:映射同一列中的两个属性,java,hibernate,mapping,Java,Hibernate,Mapping,在hibernate中,是否可以使用同一类的两个属性映射同一列,并且是否可以在查询中引用这两个属性? 这听起来毫无意义,但我所做的一切都是值得的。 在下面的示例中,我可以标记第二个getter@Transient来保留第二个getter,但在查询中会丢失别名,因此我希望同时保留“myPropertyAliasOne”和“myPropertyAliasTwo” 如果要将一列映射到两个属性,为什么不将其中一个映射,并将另一个设置为第一个属性的值。 @Entity public MyEntity {
如果要将一列映射到两个属性,为什么不将其中一个映射,并将另一个设置为第一个属性的值。
@Entity
public MyEntity {
@Column(name="ACTUAL_VALUE")
private String myProperty1;
private String myProperty2;
public void setMyPropert1(String str){
myProperty1 = str;
myProperty2 = str;
}
public void setMyPropert2(String str){
myProperty1 = str;
myProperty2 = str;
}
public void setMyPropert2(){
myProperty2 = myProperty1;
}
@Transient
public String getMyPropertyAliasOne(){
return myProperty1;
}
public String getMyPropertyAliasTwo(){
return myProperty2;
}
}
在这种情况下,手动使这些属性始终相同。(但我不明白,为什么这种冗余是有用的?)
@Entity
public MyEntity {
@Column(name="ACTUAL_VALUE")
private String myProperty1;
private String myProperty2;
public void setMyPropert1(String str){
myProperty1 = str;
myProperty2 = str;
}
public void setMyPropert2(String str){
myProperty1 = str;
myProperty2 = str;
}
public void setMyPropert2(){
myProperty2 = myProperty1;
}
@Transient
public String getMyPropertyAliasOne(){
return myProperty1;
}
public String getMyPropertyAliasTwo(){
return myProperty2;
}
}