環境 : `Play Framework 2.6`・`play-ebean 4.1.4`・`PostgreSQL` --- EbeanでJson型を扱いたい。 アノテーションとしては、`@DbJsonB`と`@DbJson`の2つが用意されている。 PostgreSQLにおける`json`型と`jsonb`型の違いは[こちら](https://www.postgresql.jp/document/10/html/datatype-json.html)の解説を参照。 `@DbJsonB`アノテーションを利用した場合は`jsonb`としてDDLが作成されるが、`@DbJson`アノテーションを利用する場合は`storage`引数によりDDLの型を変更できる。 バリエーションは以下の通り。 - @DbJson(storage = DbJsonType.JSON) - `json`型 - @DbJson(storage = DbJsonType.JSONB) - `jsonb`型 - @DbJson(storage = DbJsonType.VARCHAR) - `varchar(3000)`型 - @DbJson(storage = DbJsonType.CLOB) - `text`型 - @DbJson(storage = DbJsonType.BLOB) - `bytea`型 上記の環境の場合、DDLの型が`json`または`jsonb`となるような設定の場合、そのテーブルへのデータ追加時にエラーが発生し実用はできなかったので注意。 [参考](https://ebean.io/docs/features/json-in-db)
2020/07/29 16:35:28

コメント (0)

あなたもコメントしてみませんか

アカウント新規作成(無料)

既にアカウントを持っている方は ログイン