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

  1. @Entity  
  2. public class Site extends Model {  
  3.   
  4.  private static final long serialVersionUID = 3890695880010099962L;  
  5.   
  6.  @Id  
  7.  public Long siteId;  
  8.   
  9.  @Required  
  10.  @NotNull  
  11.  public String title;  
  12.   
  13.  @Required  
  14.  @NotNull  
  15.  @Lob  
  16.  public String url;  
  17.   
  18.  @CreatedTimestamp  
  19.  public Date createDate;  
  20.   
  21.  @Version  
  22.  public Date updateDate;  
  23. }  
個人的にはLazyLoadとかを信頼してないので、Model同士のひも付けは自前でする派です。

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

ちなみに、NotNullのアノテーションですが、
  1. libraryDependencies ++= Seq(  
  2.   // Select Play modules  
  3.   javaJdbc,  // Java database API  
  4.   javaEbean, // Java Ebean plugin  
  5.   //javaJpa,   // Java JPA plugin  
  6.   javaCore,  // The core Java API  
  7.   cache,  
  8.  "org.webjars" %% "webjars-play" % "2.2.0",  
  9.  "org.webjars" % "bootstrap" % "3.1.1",  
  10.    "org.webjars" % "font-awesome" % "4.0.3",  
  11.   "mysql" % "mysql-connector-java" % "5.1.29",  
  12.   "org.avaje.ebeanorm" % "avaje-ebeanorm-api" % "3.1.1")  
のようにして呼ぶ必要があります。



0 件のコメント:

コメントを投稿