2012-01-17 11 views
0

私はPlayフレームワークを初めて使用しています。私は遊び1.2.4とPostgres 9.1.1を使用しています。私のコードは次のとおりです:再生フレームワーク - データベーステーブルジェネレータ

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; 
} 

私のアプリケーションを実行すると、フレームワークを再生すると自動的に 'ユーザー'テーブルが生成されます。 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) 
を使用する必要が

関連する問題