我有一个奇怪的问题。不管我做什么,我都不能通过休眠来在数据库中添加新记录。我使用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