Java 运行时休眠级联
我不确定我是不是在问这个问题 但我正试图在我的项目中创建一个新帐户,对于该方法,我希望我的用户实体为Java 运行时休眠级联,java,hibernate,Java,Hibernate,我不确定我是不是在问这个问题 但我正试图在我的项目中创建一个新帐户,对于该方法,我希望我的用户实体为CascadeType.ALL,但仅限于此创建帐户方法。不适用于使用USER类的任何其他方法 比如,如果我想在运行时为某个特定的方法使用FetchType.LAZY,我将它作为criteria.setFetchType.LAZY在criteria中实现,而不是在实体中实现 同样,我能否在应用程序运行时实现CascadeType.ALL 这是我正在应用Cascade的实体类,它运行良好 public
CascadeType.ALL
,但仅限于此创建帐户方法。不适用于使用USER类的任何其他方法
比如,如果我想在运行时为某个特定的方法使用FetchType.LAZY
,我将它作为criteria.setFetchType.LAZY
在criteria中实现,而不是在实体中实现
同样,我能否在应用程序运行时实现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);
将cascade设置为
@cascade({CascadeType.Save})
则只有Save操作(仅在创建用户权限时发生?)才会层叠。谢谢,它对Save、update有效,但现在我的删除查询不起作用,你知道吗..我解释了你不想层叠的问题,除了这个特殊情况。如果需要级联,请将其设置为“全部”。顺便说一句,在运行时重写这种行为是不可能的,我从来没有见过需要这样做的用例。