я пытаюсь создать составной первичный ключ с помощью @UniqueConstraint

Я пытаюсь создать составной первичный ключ в таблице из двух внешних ключей, используя hibernate. но теперь я не знаю, как его установить. @UniqueConstraint может мне помочь ...


person Niraj Thakar    schedule 01.08.2013    source источник
comment
Вы пробовали что-нибудь, какой-нибудь учебник? Можете ли вы опубликовать свой класс сущности там, где вы хотите иметь составной PK? Вам не понадобится @UniqueConstraint.   -  person Ondrej Bozek    schedule 01.08.2013


Ответы (1)


вам не нужен @UniqueConstraint, если вы объявляете этот составной ключ как свой @EmbeddedId, см. эта ссылка для примера.

вам нужен только класс, чтобы стать его составным идентификатором:

@Embeddable
public class SomeCompositeClass {
    @Column(name = "SOME_ID_1")
    private String someId1;

    @Column(name = "SOME_ID_2")
    private String someId2;

    //getter, setter methods
}

затем используйте его внутри своей сущности, чтобы стать его @EmbeddedId:

 @Entity
 @Table(name = "YOUR_MAIN_TABLE")
 public class YourMainTable {

     @EmbeddedId
     private SomeCompositeClass myCompositeId ;

  /*setter getter methods */
 }
person Angga    schedule 01.08.2013