我有一個奇怪的問題。不管我做什麼,我都不能通過休眠來在數據庫中添加新記錄。我使用Hibernate與Tapestry和MySQL。請有人幫助我!Hibernate忽略了我的持續呼叫?
我的UserDAO類這段代碼:
@CommitAfter
public boolean saveUser(User user){
try {
session.persist(user);
return true;
}catch(Exception e){
return false;
}
}
然後,我在這裏把它稱爲:
@OnEvent(component="add")
Object onAdd(){
if(username!=null && password!=null){
User user = new UserBean();
user.setUsername(username);
user.setPassword(password);
userService.saveUser(user);
}
if(eventName!=null){
Event event = new EventBean();
event.setName(eventName);
eventService.saveEvent(event);
}
return this;
}
但它不工作,我不知道爲什麼,請大家幫忙!
這裏充滿項目:http://www.mediafire.com/?pqb2aaadhbukuav
我加了這段代碼在AppModule.java和現在的作品
@Match("*DAO")
public static void adviseTransactions(HibernateTransactionAdvisor advisor, MethodAdviceReceiver receiver) {
advisor.addTransactionCommitAdvice(receiver);
}
任何人都可以向我解釋這是什麼代碼在做什麼? 這不是我第一次使用hibernate和掛毯,我從來沒有見過這個,所以我不明白?請任何人
好吧,我看到的是你需要在服務接口添加註釋,因爲addTransactionCommitAdvice方法只檢查服務,而不是實現(或實現此服務的類)的方法與commitafter註釋方法。 – CoffeJunky