grails 框架中,配置事务处理,默认我在service层 写了方法,并抛出runtime异常,但是经测试 5
数据库还是更新了。使用的是domin类的save方法,请大侠帮忙啊,急求啊,是否进行配置,我在service层定义了statictransactional=true还是不...
数据库还是更新了。使用的是domin类的save方法,请大侠 帮忙啊,急求啊,是否进行配置,我在service 层定义了 static transactional = true 还是不行
service代码
class servicec{
static transactional = true
def up(Account account){
def accountPoint = AccountPoint.findByAccount(account)
if(accountPoint.save()){
}else{
throw new RuntimeException();
}
}
} 展开
service代码
class servicec{
static transactional = true
def up(Account account){
def accountPoint = AccountPoint.findByAccount(account)
if(accountPoint.save()){
}else{
throw new RuntimeException();
}
}
} 展开
2个回答
展开全部
我这样写是不对的 你的代码省略东西了
如果是单表的话不用在service写 更新不成功的话掉 对象.discord()方法
如果是多表的话得写在service里 但是save之前得做一些验证
if (a.hasErrors() || !a.validate() || !a.save(flush: true)) {
throw new RuntimeException();
}
这是我写的service的一个对象保存,haserror和validate这两个验证是不同的,validate是验证domain的约束的,haserror是自己写的那个方法好像叫rejectvalue 再有不会的可以继续补充
如果是单表的话不用在service写 更新不成功的话掉 对象.discord()方法
如果是多表的话得写在service里 但是save之前得做一些验证
if (a.hasErrors() || !a.validate() || !a.save(flush: true)) {
throw new RuntimeException();
}
这是我写的service的一个对象保存,haserror和validate这两个验证是不同的,validate是验证domain的约束的,haserror是自己写的那个方法好像叫rejectvalue 再有不会的可以继续补充
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询