在Play Framework中为复合键路由默认CRUD接口

时间:2012-09-15 13:11:11

标签: playframework playframework-1.x composite-primary-key

我正在尝试为只有复合键的实体创建一个成功的路由,以便我可以导航到默认的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的“编辑”页面,而不必创建一个整数类型的主键?

谢谢!

1 个答案:

答案 0 :(得分:0)

我发现许多关系由Set<class>表示。我不应该创建多对多的类,而应该根据我的需要在俱乐部或签证节上创建一组成员(代表一个管理员)变量。使用此方法,将自动创建多对多关系。此外,无需编辑我的路线。