2014年2月21日金曜日

PlayFrameworkで会員制ギャラリーサイトを作る習作:EBeanを使用してModelの作成を行う

さてEBeanを使ってModelを作っていきます。
作成するModelの定義はこちらのIssueのとおり。


まずはModelを作成していきます。作るのはcoreのサブプロジェクト内。

https://github.com/YoshiteruIwasaki/PlayFrameworkRecruitConsole/blob/f2f8ff770ea3b3ca15a04137a0d56fe269f6c962/modules/core/app/models/bases/Site.java

@Entity
public class Site extends Model {

 private static final long serialVersionUID = 3890695880010099962L;

 @Id
 public Long siteId;

 @Required
 @NotNull
 public String title;

 @Required
 @NotNull
 @Lob
 public String url;

 @CreatedTimestamp
 public Date createDate;

 @Version
 public Date updateDate;
}

個人的にはLazyLoadとかを信頼してないので、Model同士のひも付けは自前でする派です。

urlは255文字を超える場合もあるので(企業の採用ページだったら超えることもほぼ無いはずですが)、@Lobにしています。

ちなみに、NotNullのアノテーションですが、
libraryDependencies ++= Seq(
  // Select Play modules
  javaJdbc,  // Java database API
  javaEbean, // Java Ebean plugin
  //javaJpa,   // Java JPA plugin
  javaCore,  // The core Java API
  cache,
 "org.webjars" %% "webjars-play" % "2.2.0",
 "org.webjars" % "bootstrap" % "3.1.1",
   "org.webjars" % "font-awesome" % "4.0.3",
  "mysql" % "mysql-connector-java" % "5.1.29",
  "org.avaje.ebeanorm" % "avaje-ebeanorm-api" % "3.1.1")

のようにして呼ぶ必要があります。



0 件のコメント:

コメントを投稿