Hibernate @OneToMany sans table de jointure séparée

Envisager la suite de schéma de base de données:

create table UserGroup ( id int not null auto_increment, name varchar(200),
    primary key(id));
create table User ( id int not null auto_increment, name varchar(200),
    groupId int not null, primary key(id));

De l'utilisateur.groupId = Groupe d'utilisateurs.id, de sorte qu'un utilisateur ne peut être membre que d'un seul groupe, mais un groupe d'utilisateurs peut exister de nombreux utilisateurs. Amende jusqu'à présent, nous allons faire les entités de mise en veille prolongée. Voici User:

@Entity
@Table(name = "User")
public class User {

    @Id
    @Column(name="id", nullable = false)
    private Integer id;

    @Column(name="name", length = 200, nullable = true)
    private String name;

    @ManyToOne(fetch=FetchType.EAGER)
    @JoinColumn(name = "groupId", nullable = false, insertable=false, updatable=false)
    @ForeignKey(name="FK_GroupId")
    private UserGroup userGroup;

    /* Getters, Setters, toString, equals & hashCode */
}

Voici UserGroup:

@Entity
@Table(name = "UserGroup")
public class UserGroup {

    @Id
    @Column(name="id", nullable = false)
    private Integer id;

    @Column(name="name", length = 200, nullable = true)
    private String name;

    @OneToMany(fetch=FetchType.EAGER)
    private List<User> users;

    /* Getters, Setters, toString, equals & hashCode */
}

Maintenant je vais faire une erreur "Table mydb.usergroup_user' doesn't exist" parce qu'il s'attend à une jointure de table. Ma structure de données est "gravé dans la pierre" en raison de l'interopérabilité avec d'autres applications que cette application va vous remplacer, donc je vais pas faire une jointure de table. Aussi, il ne devrait pas être nécessaire. Comment puis-je faire un List<User> users que c'est tout simplement une liste d'Utilisateur où User.groupId == UserGroup.Id?

source d'informationauteur niklassaers