java - Play框架-数据库表生成器

标签 java playframework

我是 Play 框架的新手。我正在使用 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;
}

当我运行我的应用程序时, Play Framework 会自动生成“用户”表。 name 列被定义为 charactervarying(255),而不是我所期望的 charactervarying(20) NOT NULL

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

由于我使用的是 validateAndSave() 方法,并且我需要同时存在 @Required@MaxSize 注释。我还可以使用 @Column(nullable=false, length=20) 注释,该注释本身不适用于 play 的 validateAndSave() 方法,但在这种情况下我最终会得到“重复”的注释。

最佳答案

@MaxSize 是验证注释,而不是 JPA 注释。

您需要使用

@Column(length=20) 

关于java - Play框架-数据库表生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8898914/

相关文章:

java - 如何在 BIRT 中禁用或启用图表可见性

java - 如何从 Java 执行 Python 脚本(通过命令行)?

java - java 为什么要等这么久才能运行垃圾收集器?

java - 我想显示一个变量值,其中变量名称与连接的字符串匹配

java - 我可以从 System.nanoTime 合理预期的最差分辨率是多少?

java - JAXB - 如何使用 Map 中的属性创建 XML 元素?

javascript - Play Framework : update web page when a value is selected from drop down

java - 重定向到 Play 框架中同一 Controller 中的操作

java - hibernate join fetch 不会获取所有子项

java - Play 框架是否附带电子邮件模板库或工具?