求救!我用jb9+weblogic8.1開發時,當插入一條重複記錄時,方法返回值竟然為真??HELP!

alaxing發表於2004-06-01
求救!我用jb9+weblogic8.1開發時,當我故意在sessionBean裡呼叫cmp裡的create方法插入一條主鍵重複的記錄時,
這是facadeBean中的方法
public boolean addTest(TestVO testVO) {

boolean lpReturnValue = false;
try {
TestHome testHome = (TestHome ) ServiceLocator.
getInstance().getHome("Test ", TestHome .class);
Test test= testHome.create(testVO);
if (accountInfo != null){
lpReturnValue = true;
}else{
lpReturnValue=false;
}

}
catch (Exception ex) {

lpReturnValue = false;
ex.printStackTrace();
System.out.println("發生錯誤: " + ex.getMessage());
}
System.out.println("test-" + lpReturnValue);
return lpReturnValue;
}

在sessionBean裡的這個方法竟然識別不到錯誤,不會轉到catch(Exception ex)下,於是列印出返回值為真,然後再出現主鍵重複的錯誤,進行事務回滾!按道理這個方法的返回值應該為假的!!

可是這段同樣的程式碼在weblogic7.0下面就執行的好好的,返回值為假,提示主鍵重複!難道7和8在CMP的插入方法有不同??
請各位大位指教!

相關文章