当我在模型类中将变量定义为字符串时,它在DB中被转换为“VARCHAR(255)”。
但是,我想保存超过255个,因为这个数据是由几个段落组成的非常长的文本。
据我所知,DB中有一种TEXT类型来保存很长的文本。
如何在Play中定义TEXT类型!框架?
我尝试了约束。MaxLength和约束。游戏中定义的最大值!框架api。
然而,仍然是1。sql文件(由Ebean DDL自动创建)将此变量定义为VARCHAR(255)。
谢谢,提前!
您可以在字段上使用@Lob
注释,这将在MySQL上生成long text
类型,并在PostgreSQL上键入text
:
package models;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Lob;
@Entity
public class Foo {
@Id
public Long id;
@Lob
public String bar;
}
在MySQL中,这会产生:
mysql> describe foo;
+-------+------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+------------+------+-----+---------+----------------+
| id | bigint(20) | NO | PRI | NULL | auto_increment |
| bar | longtext | YES | | NULL | |
+-------+------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)
在PostgreSQL中,这将产生:
foodb=> \d foo;
Table "public.foo"
Column | Type | Modifiers
--------+--------+-----------
id | bigint | not null
bar | text |
Indexes:
"pk_foo" PRIMARY KEY, btree (id)
根据Java EE api:
Lob类型是从持久字段或属性的类型推断出来的
这意味着一个字符串类型的字段应该给你一些文本blob,而字节类型的字段应该给你一些二进制blob。
在您的模型中,只需使用设置为文本的列定义:
@Entity
public class MyEntity extends Model {
@Id
private Long id;
@Column(columnDefinition = "TEXT")
private String aLongText;
....
}
我已经在Postgres上使用过了,不知道其他数据库服务器是否可以。
我使用play框架创建了web应用程序。我正在尝试使用Play Ebean遵循这篇指南Java EBean-2.6.x-Play框架。因此,我将复制到plugins.sbt中,并修改了build.sbt 但在运行sbt时,它表示无法解析依赖项。 在阅读了很少其他stackoverflow发布链接1和链接2后,似乎是由于不匹配的版本。我尝试使用sbt-play-ebean 6.1.0,但没有效果。第
我正在尝试使用PlayJava模板创建小型CRUD应用程序。我通过cmd使用typesafeactivator创建了一个新项目,所以现在我想启用ebean并更改mysql数据库。im使用激活器1.3。6,对于使用我的phpmyadmin sql 5.6的sql im。20我在谷歌上搜索了一下,我做了所有的事情,比如纪录片,但我仍然无法解决我的问题我无法添加ebean我的项目,我无法连接mysql连
问题内容: 我有一堂课: 我想在“ JPA”专栏中使用它: 这就是Hibernate所说的: 如何使其了解我的自定义类型。我认为这很简单,但是在文档中找不到。 问题答案: 好吧,有很多方法: 用注释类,并具有: private Email email; 声明自定义值类型-参见此处(使用)
问题是我写了简单的注释处理器,它根本不处理类型注释。simple annotations processor的源代码如下所示: 有什么想法如何使用或如何通过SimpleAnnotationsProcessor访问类型注释吗?使用可插入的注释处理API对我来说是不必要的,我认为它会比Java反射有更好的性能。无论如何,我也不知道如何通过Java反射访问类型注释。
问题内容: 我想将非spring bean类对象用作球衣Web服务类方法的参数。但是它在构建时会给出缺少的依赖项错误。 我的代码是: 问题答案: 关键是路径参数以字符串形式出现。根据规范,如果我们希望将自定义类型作为注入,则自定义类应具有以下三项之一: 返回类型的公共静态 返回类型的公共静态 或接受字符串的公共构造函数 另一种选择实现。您可以在此处查看示例。 如果您不拥有该类(它是无法更改的第三方