Сопоставление JPA 2.0 OneToOne со ссылкой на атрибут - PullRequest
3 голосов
/ 20 марта 2012

Можно ли ссылаться на один атрибут в ссылочной сущности в отношении OneToOne

Пример:

   @Entity
   public class Country {
    @Id
    private Long countryId;
   @Column(name="code")
   private String countryCode;
  ...
  } 

 @Entity
 public class City {

  @Id
  private Long cityId;

   @OneToOne
   @JoinColumn(name="countryId",referencedColumnName="cityId")
    @Column(name="code")
    private String countryCode;

}

С помощью этой настройки я получаюОшибка @Column (s) не допускается для свойства @OneToOne.Возможно ли сделать это любым другим способом в JPA 2.0

Thx Sanjay

1 Ответ

0 голосов
/ 21 марта 2012

Это невозможно.Вы можете просто добавить средство доступа для таких случаев использования, которое делегирует объекту, на который ссылаются:

public class City {
  public String getCountryCode() { 
    return null == country ? null : country.getCountryCode(); 
  }
}
...