0

デフォルトのCRUDモジュールの「編集」インターフェースに移動できるように、複合キーのみを持つエンティティの成功したルートを作成しようとしています。

現在、データベース内のすべてのclub_adminのリストを正常に取得して表示していますが、club_adminの個々の編集ページに移動しようとすると、「ルートがありません」というエラーが表示されます。

私のデータベースのテーブルは次のとおりです。

create table club_admin  (
    club_id int not null,
    user_username varchar(25) not null,
    primary key (club_id,user_username),
    constraint fk_club_admin_club_id foreign key (club_id) references club(club_id), 
    constraint fk_club_admin_user_username foreign key (user_username) references user(user_username)
);

club_adminクラスのコードは次のとおりです。

package models;

...

@Entity
@Table(name="club_admin")
public class ClubAdmin extends GenericModel
{

        @Id 
        @ManyToOne
        @JoinColumn(name="club_id", referencedColumnName="club_id")
        public Club club;

        @Id 
        @ManyToOne
        @JoinColumn(name="user_username", referencedColumnName="user_username")
        public User user;

        public ClubAdmin(Club club, User user)
        {
                this.club=club;
                this.user=user; 
        }

        ...
}

私の推測では、テーブル/エンティティにはルートに使用するデフォルトのIDがないため、失敗します。だから私の質問は、整数型の単一の主キーを作成する必要なしに、複合キーを使用してclub_adminの「編集」ページに移動するルートを作成するにはどうすればよいですか?

ありがとう!

4

1 に答える 1

0

多対多の関係はで表されることがわかりましたSet<class>。多対多のクラスを作成するのではなく、必要に応じて、クラブまたはビザの詩でメンバーのセット(管理者を表す)変数を作成する必要がありました。この方法では、多対多の関係が自動的に作成されます。また、ルートを編集する必要はありません。

于 2012-10-03T13:07:50.113 に答える