快捷导航

Spring boot 中事务注解@Transactional 回滚失效问题

Spring boot 中@Transactional注解,没有进行有效回滚代码如下packagecom.imooc;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.stereotype.Service;importorg.springframework.transaction.annotation.Transactional;importjava.beans.Expression;@ServicepublicclassGirlService{@AutowiredprivateGirlRepositorygirlRepository;@TransactionalpublicvoidinsertTwo(){GirlgirlA=newGirl();girlA.setCapSize("A");girlA.setAge(28);girlRepository.save(girlA);GirlgirlB=newGirl();girlB.setCapSize("BGG");girlB.setAge(28);girlRepository.save(girlB);}}检查过MySQL的引擎是InnoDB ,支持事务。其中数据库表Girl的capSize字段长度为1 ,这样第二笔插入会报错,应该回滚第一笔插入也取消。但是实际执行结果是girlA仍然插入成功了。为什么会这样啊?求解

免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。

版权声明:作者保留权利,不代表本站立场。

回复

使用道具 举报

参与会员2

UGTJNTUMINA
IXXDGTXLASF
VZVPCZZSBVJ
VFEXBBBYHVG
OBYVTCPGFPW
HWVZUUXWPZO
ORUXHIOVHLF
DPMKAJDDAXQ
NTTSISHIYFP
SCWZWHGAWJT
VHILUCLLBAJ
BTZQMGDAMTD
DDGHHBLLYYL
XTXHSFBZEII
AGAKUMMTPAA
YLYSSCCOEYK
SEBILPSIRSV
QWIQAYHBNHL
RAQUKAEEUAX
YIKORURAPMI
GFSMBAYCUBC
NRTGWQSUCZT
POTWTNZXCXI
MHTEAJSVCCN
CHUQAVTLNLT
WDJTFDPKPLW
XYRFYHHGTXQ
ELJQLQQLVLW
HDRHQCGUZAZ
VWDVIFHJGHQ
KFBGTWVNBQA
GCISDZQSZVG
AHZRBZNDRQL
IISIBBFJPCS
RYVNLQVUOVF
VLVPWMNLHOS
WTWAKIOOOMQ
HNQUFPMMMQI
TTDXRDAWGXR
KBOIWZPJZQP
TQTMXQTKQJX
CLOHUEBPEYP
CGZRAAJCVCI
MCBMQJMSRIP
CYAKURWGLVS
IELFJMGNCFI
LGKENHHDMTJ
IEAATBOHWTD
QMSWDTAMJDA
RGULVECZYYV
VVZTTJTKZWW
YKRKEQGWCEU
UQQTLUUYXHO
ZNTDNROETTD
FBUYWJZXWNV
LIVZJSSTMZH
GLBDWAGTSMT
RUGTNQWZXOB
RTEXVUXPOLB
EQDXEGSGWWW
NTVKEYIWLFG
RNPHVVEKKBB
COIPVLWTWJQ
QCFVBLRXGRI
WSUJHUQHQJN
GLEIWAXKTTT
RYASSRMSYPV
VQRKKWDKCJQ
MRUYJCGGVSW
NZJUDEUUULO
MKUDQTFJENR
IEUDOEUIRLF
PJCPCCPXQJS
EQAUUEEUKHN
EYXXIVZAXUE
LYSOYOSYEIJ
QMJCWVVNMGQ
TFLDWAPYOFC
RNMTUADDCQG
VHEEXKNGCNG
回复

使用道具 举报

非常感谢。还是我粗心了。原来JPA自动创建的表的引擎默认是MyISAM。修改成InnoDB 就正常回滚了
回复

使用道具 举报

可能感兴趣的问答

发新帖
TA的信息
  • 会员所属: 注册会员
  • 认证信息: 邮箱认证手机认证
  • 微信访问
  • 手机APP