0

假设有一个具有唯一约束的 Model bean,它结合了两列(作为复合主键),如下所示:

@Entity
@Table(uniqueConstraints = {  @UniqueConstraint(columnNames = { "key1", "key2" }) })
public class Rating extends Model {

    @ManyToOne
    @JoinColumn(name="key1", nullable=false)
    public Post key1;

    @ManyToOne
    @JoinColumn(name="key2", nullable=false)
    public User key2;
    ...
}

如何找到具有以下签名的方法的查找器:

public static Rating get(Post key1, User key2) { ... }
4

1 回答 1

1

AFAIK,您没有定义复合键,而只是两个属性之间的唯一约束。要定义复合键,您必须使用@EmbeddedId[ 1 ] 或@IdClass[ 2 ] 注释。

我会去@EmbeddedId,你可以在这里看到一个使用示例:http ://weblogs.java.net/blog/bleonard/archive/2006/11/using_composite.html

于 2012-09-27T12:46:23.477 回答