在JPA OneToMany关系中指定中间表名称

时间:2012-07-24 18:00:36

标签: jpa playframework

我有一个表用户,每个用户都有一组其他用户作为朋友。我在模型类中定义它的方式如下:

     Public class User extends Models {
     ....
     @OneToMany
     public List<User> friends;
     .
     .
     }

现在,Play JPA正在创建一个中间表名 user_user包含以下字段。

    mysql> desc user_user;
    ------------+------------+------+-----+---------+-------+
    | user_id     | bigint(20) | NO   | MUL | NULL    |       |
    | friends_id  | bigint(20) | NO   | PRI | NULL    | 

问题是如何更改中间表(user_user)的名称及其中的列?

1 个答案:

答案 0 :(得分:9)

使用@JoinTable注释应该可以满足您的需求。有一篇好文章(JPA "@JoinTable" annotation)专门介绍了如何使用这个注释。