不想将数据保存到第二个表中

我有两个实体一个用户(Owing实体 - 由字段roleId作为用户和角色之间的映射),另一个是Role。 角色已经在数据库中创建。 我有屏幕在用户选择用户创建特定用户角色的位置。 当我保存数据时,我只想保存用户详细信息以及用户表中的角色ID。 我不想保存角色的详细信息,因为它已经存在。

我使用Hibernate进行持久化。 使用@OneToOne映射。

    @Entity   
    public class User{
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

    @Column(nullable = false)
        private String firstName;


        @Column(nullable = false)
        private String lastName;

        @OneToOne(fetch = FetchType.EAGER)
            @JoinColumn(name = "role_id")
            private Role role;

    }


@Entity
public class Role {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

    @Column(unique = true, nullable = false)
    private String role;

}

目前它正试图保存用户和角色的详细信息。 这不是必需的。 请帮助解决问题。


我建议你限制级联删除:

@OneToOne(fetch = FetchType.EAGER, cascade = CascadeType.REMOVE)
@JoinColumn(name = "role_id")
private Role role;
链接地址: http://www.djcxy.com/p/63685.html

上一篇: do not want to save data to the second table

下一篇: hibernate one to one mapping for employee and country