Hibernate Cascade在运行时

时间:2012-06-09 01:27:09

标签: java hibernate

我不确定我是否应该问这个问题 但我正在尝试在我的项目中创建一个新帐户,对于该方法,我希望我的USER实体为CascadeType.ALL,但仅限于此创建帐户方法。不适用于使用USER类的任何其他方法。

就像我想在运行时使用FetchType.LAZY某些特定方法一样,我在条件criteria.setFetchType.LAZY中实现它而不是在我的实体内。

以同样的方式,我可以在申请的运行时实施CascadeType.ALL吗?

这是我的实体类,我在其中应用Cascade,其工作正常

public Class UserEntity implements Serializable

    @Cascade({ CascadeType.ALL })
    @JoinColumn(name="teamId")
    private TeamEntity teamId;
}

这是我使用此级联功能的方法,现在我只想让这个级联功能在此方法中定义并从实体中删除

这可能吗?

public String addTeam(UserEntity userInfoEntity) throws Exception{
    Session session = sessionFactory.openSession();
    try {
        Transaction tr = session.beginTransaction();
        Criteria crit = session.createCriteria(UserInfoEntity.class);

1 个答案:

答案 0 :(得分:0)

将级联设置为@Cascade({ CascadeType.Save })然后只保存操作(仅在创建用户时才会发生?)将级联。