@OneToOne - 不能坚持第二个实体

时间:2015-07-23 20:14:35

标签: hibernate spring-mvc

这是我的第一篇文章,我遇到了hibernate @OneToOne映射的问题。我的第一个例子是link。所以我有两个模型类调用User和Profile。每次用户执行注册表时,我都想创建一个具有给定信息和用户默认配置文件的新用户帐户。但问题是我的代码只能生成用户帐户,但不能生成个人资料。我的结构如下:

public class User {

    @OneToOne(fetch=FetchType.LAZY, mappedBy="profileUser", cascade=CascadeType.ALL)
    private Profile profile;
}

public class Profile {

    @Id     @GeneratedValue(strategy=GenerationType.IDENTITY)
    @Column(name="PROFILE_ID")
    private Long profileId;

    @OneToOne
    @PrimaryKeyJoinColumn
    private User profileUser;
}

@Repository
public UserDao {
public void createUser(User user) {
        currentSession().save(user);
    }
}

@Service 
public UserService {

    @Autowire UserDao dao;    

    @Transactional
    public void createUser(User user) {

        Profile profile = Profile.createInstance();
        profile.setProfileUser(user);


        user.setProfile(profile);
        dao.createUser(user);
    }

}

我查看控制台并检测到只运行一个查询来保留帐户而不是配置文件。我不知道我哪里做错了。

0 个答案:

没有答案