我想实现SetForegroundWindow()
方法,它将删除所有bool _res = false;
_res = AttachThreadInput(GetCurrentThreadId(), targetThreadID, TRUE);
if (!_res) {
cout << "Error: " << GetLastError() << endl;
}
else {
//SetFocus(focusHandler);
//SetActiveWindow(focusHandler);
//SetForegroundWindow(focusHandler);
enter code here
if (!prevH) {
cout << "Error: " << GetLastError() << endl;
}
else {
UINT res = SendInput(nTotVKey, numInputVect, sizeof(INPUT));
if (res != nTotVKey) {
cout << "Error: " << GetLastError() << endl;
}
else {
_res = AttachThreadInput(GetCurrentThreadId(), targetThreadID, FALSE);
if (!_res) {
cout << "Error: " << GetLastError() << endl;
}
}
}
个实体及其关联,同时我想在内存堆中获取用户集合时阻止deleteAll
异常。
我当前的实现看起来像下面的代码段:
User
如您所见,我正在使用分页方法,因此我获取了大量数据,然后将其删除,依此类推。如何通过Hibernate实现这一目标?谢谢你的帮助。
答案 0 :(得分:2)
试试这个:
sessionFactory.getCurrentSession().createQuery("delete from User").executeUpdate();
您不需要获取所有记录(或任何部分)来删除它们。 另请查看here。也许它会有用。
不幸的是,这种方法不会触发级联删除。也许你可以批准另一种方法。例如,创建附加列&#34; is_deleted&#34;如果删除它,则设置值为true。在此之后,您可以在晚上安排工作。这项工作将通过您的方法实际删除这些用户的一部分。但是,您必须为get \ fetch方法添加一个条件,以便仅考虑is_deleted = false用户。
答案 1 :(得分:1)
假设没有级联,您实际上可以使用hql或jpl来执行此操作。
public int hqlTruncate(String user){
String hql = String.format("delete from %s",user);
Query query = session.createQuery(hql)
return query.executeUpdate();
}