Java Hibernate:映射同一列中的两个属性

Java Hibernate:映射同一列中的两个属性,java,hibernate,mapping,Java,Hibernate,Mapping,在hibernate中,是否可以使用同一类的两个属性映射同一列,并且是否可以在查询中引用这两个属性? 这听起来毫无意义,但我所做的一切都是值得的。 在下面的示例中,我可以标记第二个getter@Transient来保留第二个getter,但在查询中会丢失别名,因此我希望同时保留“myPropertyAliasOne”和“myPropertyAliasTwo” 如果要将一列映射到两个属性,为什么不将其中一个映射,并将另一个设置为第一个属性的值。 @Entity public MyEntity {

在hibernate中,是否可以使用同一类的两个属性映射同一列,并且是否可以在查询中引用这两个属性? 这听起来毫无意义,但我所做的一切都是值得的。 在下面的示例中,我可以标记第二个getter@Transient来保留第二个getter,但在查询中会丢失别名,因此我希望同时保留“myPropertyAliasOne”和“myPropertyAliasTwo”


如果要将一列映射到两个属性,为什么不将其中一个映射,并将另一个设置为第一个属性的值。

@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;
   }
}