0

次のように、2 つの列を (複合主キーとして) 結合する一意の制約を持つモデル 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

私の知る限り、複合キーを定義しているのではなく、2 つのプロパティ間の一意の制約を定義しているだけです。複合キーを定義するには、@EmbeddedId[ 1 ] または@IdClass[ 2 ] 注釈を使用する必要があります。

@EmbeddedIdここで使用例を確認できます: http://weblogs.java.net/blog/bleonard/archive/2006/11/using_composite.html

于 2012-09-27T12:46:23.477 に答える