Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Play Framework@manytone relationship链接到MySQL中的外键_Mysql_Jpa_Playframework_Foreign Keys_Playframework 1.x - Fatal编程技术网

将Play Framework@manytone relationship链接到MySQL中的外键

将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

我想做的是让我的游戏!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 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")