2012-01-17 361 views
0

我是Play框架的新手。我使用的是Play 1.2.4和Postgres 9.1.1。這裏是我的代碼:Play框架 - 數據庫表生成器

import javax.persistence.Entity; 
import play.db.jpa.Model; 
import play.data.validation.MaxSize; 
import play.data.validation.Required; 

@Entity 
public class User extends Model { 
    @Required 
    @MaxSize(20) 
    public String name; 
} 

當我運行我的應用程序時,play framework會自動生成'user'表。如我所料,name列被定義爲character varying(255)而不是character varying(20) NOT NULL

Column | Type | Modifiers 
-------------+------------------------+----------- 
id | bigint | not null 
name | character varying(255) | 

由於我使用的方法validateAndSave(),我需要兩@Required@MaxSize註釋存在。我本來可以使用@Column(nullable=false, length=20)註釋,它本身不適用於遊戲的validateAndSave()方法,但在這種情況下,我最終會「複製」註釋。

回答

2

@MaxSize是一個驗證註釋,而不是JPA註釋。

您需要使用

@Column(length=20)