今回は、Doma2を使うときに発生した「DOMA2021」エラーについみていきたいと思います。
エラー内容
Caused by: org.seasar.doma.jdbc.JdbcException: [DOMA2021] While the ID property “id” of the entity “SampleEntity” is specified with the strategy “IDENTITY”, the strategy is not supported in the RDBMS “standard”.
訳してみましたが、「SampleEntity」エンティティのIDプロパティ「id」は「IDENTITY」ストラテジーで指定されていますが、そのストラテジーはRDBMS「Standard」ではサポートされていません。ということでした。
RDBMSとしてMysqlを使っていますがStandardはなんだろうと思いつつ設定ファイル(Config)として修正するのがありましたが、うまくいかなかったです。
解決
doma:
dialect: mysql
query-timeout: 60
sql-file-repository: no_cache
- application.ymlに上記の記述を追加しました。
- dialect:mysqlを指定するだけでもうまくいきます。
- sql-file-repository: no_cacheは開発中にはキャッシュされることによってテストが期待通りできない場合があるため、開発時のみ指定してあげました。
終わりに
standard、strategy、dialectなど色々出てきますが、詳しくは今度調べてみたいと思います。
