我尝试使用hibernate从2个外键创建表中的复合主键。但我现在不知道如何设置它。 @UniqueConstraint可以帮我一些..
答案 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 */
}