将Play Framework@manytone relationship链接到MySQL中的外键
我想做的是让我的游戏!project使用MySQL上已有的数据库。与数据库的连接正常。我的问题在于将MySQL数据库中的外键约束链接到我的Play!项目类的@manytone关系 因此,我目前数据库中的基本信息是:将Play Framework@manytone relationship链接到MySQL中的外键,mysql,jpa,playframework,foreign-keys,playframework-1.x,Mysql,Jpa,Playframework,Foreign Keys,Playframework 1.x,我想做的是让我的游戏!project使用MySQL上已有的数据库。与数据库的连接正常。我的问题在于将MySQL数据库中的外键约束链接到我的Play!项目类的@manytone关系 因此,我目前数据库中的基本信息是: ... create table clubadmin ( clubadmin_id int not null auto_increment, club_id int not null, user_id int not null, primary k
...
create table clubadmin (
clubadmin_id int not null auto_increment,
club_id int not null,
user_id int not null,
primary key (clubadmin_id),
constraint fk_clubadmin_club_id foreign key (club_id) references club(club_id),
constraint fk_clubadmin_user_id foreign key (user_id) references user(user_id)
);
create table special(
spec_id int not null auto_increment,
spec_datetime datetime not null,
spec_content varchar(500) not null,
clubadmin_id int not null,
primary key (spec_id),
constraint fk_special_clubadmin_id foreign key (clubadmin_id) references clubadmin(clubadmin_id)
);
...
重点强调了特殊和俱乐部之间的关系
在我的戏里!project I有一个ClubAdmin和一个特殊类,具有以下内容:
package models;
...
@Entity
@Table(name="special")
public class Special extends GenericModel
{
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Required
public Long spec_id;
...
@ManyToOne
@Required
public Clubadmin clubadmin;
public Special(Clubadmin admin,...)
{
...
this.clubadmin = admin;
...
}
}
及
封装模型;
...
@实体
@表(name=“clubadmin”)
公共类ClubAdmin扩展了GenericModel
{
@身份证
@GeneratedValue(策略=GenerationType.AUTO)
@必需的
公共长俱乐部id;
...
@OneToMany(mappedBy=“clubadmin”,cascade=CascadeType.ALL)
公共清单特价;
公共俱乐部会员(…)
{
...
this.specials=newArrayList();
...
}
}
从我看到的情况来看,在特殊类中创建@manytone关系似乎是在特殊表中创建一个名为clubadmin\u clubadmin\u id
的新字段,该字段表示外键,而不考虑fk\u Special\u clubadmin\u id
约束的存在。这不应该发生
我怎么玩!认识并使用数据库中的现有约束,使其不会创建自己的约束
我在玩!1.2.4和MySQL 5.3
谢谢 将JoinColumn注释添加到ManyTone字段,以指定与jpa推断的列名不同的列名 差不多
@JoinColumn(name="clubadmin_id", referencedColumnName="clubadmin_id")
@JoinColumn(name="clubadmin_id", referencedColumnName="clubadmin_id")