我正在尝试为只有复合键的实体创建一个成功的路由,以便我可以导航到默认的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的“编辑”页面,而不必创建一个整数类型的主键?
谢谢!
答案 0 :(得分:0)
我发现许多关系由Set<class>
表示。我不应该创建多对多的类,而应该根据我的需要在俱乐部或签证节上创建一组成员(代表一个管理员)变量。使用此方法,将自动创建多对多关系。此外,无需编辑我的路线。