我写这篇文章知道是否有人知道如何做到这一点:
我想做这个插入:
INSERT INTO TABLA (CAMPO1, CAMPO2) VALUES (?, crypt(?,'cdp'))
Run Code Online (Sandbox Code Playgroud)
Crypt是存储在我的数据库中的函数,我希望在我的代码中执行插入操作.实际上,当我想在数据库中插入一些东西时,我使用:
getHibernateTemplate().persist(obj);
Run Code Online (Sandbox Code Playgroud)
但我想做一个"自定义"插入,因为我需要使用该功能.
我正在使用hibernate +注释:
@org.hibernate.annotations.SQLInsert (sql = "INSERT INTO TABLA (CAMPO1, CAMPO2) VALUES (?, crypt(?,'cdp'))")
Run Code Online (Sandbox Code Playgroud)
但是必须从文件中提取密钥"cdp",因此该解决方案对我不起作用.
我想在我的代码上使用一个方法来执行SQL查询(INSERT查询)
我有2个项目,其中一个包含在另一个构建路径中,它们都有自己的应用程序上下文定义他的bean.
我想管理全局事务,所以我必须在一个应用程序上下文中导入它们,但我没有找到这样做的方法.
在不同的项目中可能有2个应用程序上下文,并将其中一个导入到另一个项目中.
如果没有可能哪个是最好的解决方案?
我认为成为1中的2个项目.
这是我在StackOverflow上的第一个问题(抱歉我的英文).我会尽力解释这个问题.
我有一个带有前景玉应用程序的swt应用程序,其中我有一个进度条来通知应用程序的持续时间.要刷新此进度条,我使用:
if(Display.getCurrent() != null) {
progress.run();
}
else {
sShell.getDisplay().syncExec(progress);
}
Run Code Online (Sandbox Code Playgroud)
进展是:
Runnable progress = new Runnable() {
public void run () {
if (progressBar.isDisposed ())
return;
int percentage= (numStep*100)/maxSteps;
progressBar.setSelection(percentage);
if (numStep >= maxSteps){
label1.setText("The simulation has been completed.");
button.setEnabled(true);
}
}
};
Run Code Online (Sandbox Code Playgroud)
我试着分析这个Runnable所花费的时间并且它是恒定的,但是当我分析这条线sSehll.getDisplay().syncExec(progress)
需要不同的时间(从0ms到XXXXms)
我读过这个
syncExec(Runnable runnable)导致当前线程(如果它与显示器的用户界面线程不同)等待runnable完成.
但是Runnable是时间常数......
有人可以指导我吗?我不明白为什么有时需要3分钟和其他时间.
谢谢