我尝试使用@UniqueConstraint创建复合主键

时间:2013-08-01 07:30:21

标签: hibernate composite-key composite-primary-key

我尝试使用hibernate从2个外键创建表中的复合主键。但我现在不知道如何设置它。 @UniqueConstraint可以帮我一些..

1 个答案:

答案 0 :(得分:0)

如果您将该复合键声明为@EmbeddedId,则不需要@UniqueConstraint,例如,请参阅this link

你只需要一个类来成为它的复合id:

@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 */
 }