{"image_url":"https://cdn-ak.f.st-hatena.com/images/fotolife/n/nemuzuka/20200611/20200611200142.png","type":"rich","description":"\u3084\u3063\u3071\u308a RDBMS \u3068\u9023\u643a\u3057\u305f\u304b\u3063\u305f\u306e\u3067\u3084\u3063\u3066\u307f\u307e\u3057\u305f\u3002 \u53c2\u8003\u306b\u3057\u305f\u306e\u306f Access a database with MyBatis Micronaut + Kotlin + Doma\u3067Transaction\u3092\u697d\u306b\u6271\u3046*1 \u3067\u3059\u3002 build.gradle LocalTransactionManager \u95a2\u9023 DomaConfigFactory DomaConfig Dao @DaoConfig TaskDao \u63a5\u7d9a\u60c5\u5831 Dao \u306e\u30c6\u30b9\u30c8 TaskDaoTest \u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3 @Transactional TransactionInterceptor TaskUseCase \u307e\u3068\u3081 b\u2026","url":"https://nemuzuka.vss.jp.net/entry/2020/07/05/164921","published":"2020-07-05 16:49:21","author_name":"nemuzuka","categories":["micronaut","doma2"],"provider_name":"Hatena Blog","version":"1.0","width":"100%","provider_url":"https://hatena.blog","height":"190","author_url":"https://blog.hatena.ne.jp/nemuzuka/","blog_title":"nemuzuka\u306e\u300c\u660e\u65e5\u304b\u3089\u672c\u6c17\u51fa\u3059\u300d","title":"Micronaut + Doma2 \u9023\u643a(\u8d85\u7c21\u6613\u7248)","blog_url":"https://nemuzuka.vss.jp.net/","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fnemuzuka.vss.jp.net%2Fentry%2F2020%2F07%2F05%2F164921\" title=\"Micronaut + Doma2 \u9023\u643a(\u8d85\u7c21\u6613\u7248) - nemuzuka\u306e\u300c\u660e\u65e5\u304b\u3089\u672c\u6c17\u51fa\u3059\u300d\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>"}