PlayFrameworkではModelクラス(@Entityアノテーションを付けたクラス)を作成することで、自動的にcreate文のSQlを発行し、クラスに定義した内容に合わせてテーブルを作成してくれる機能があります。
その時バイナリデータを保存するカラムの書き方がわからず時間を食ってしまったので記録しておきます。
書き方としては以下です。
@Lob
public byte[] paramBlob;
実装のサンプルとしては以下です。
TbParam.java
package models.entity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import play.db.ebean.Model;
@Entity
public class TbParam extends Model {
@Id
public Integer id;
@Lob
public byte[] paramBlob;
public TbWorkParam(){
}
}
上記の書き方でmysql環境ではカラムparamBlobがlongblob型にて作成されます。