生成TEXT列而不是VARCHAR

时间:2017-03-22 18:26:14

标签: java sql

无论如何我可以生成TEXT列吗?我的@Entity类包含一个String,它是产品的摘要,但是String生成的VARCHAR(255)不够大。有什么我可以用来生成表但是在Java中将它从VARCHAR更改为TEXT列吗?这是一个Play应用程序。

实体类 - 关系。

package models.products;

import java.util.*;
import javax.persistence.*;

import play.data.format.*;
import play.data.validation.*;

import com.avaje.ebean.*;

import models.shopping.*;

// Product entity managed by Ebean
@Entity
public class Product extends Model {

    @Constraints.Required
    private String name;

    @Constraints.Required
    private String description;

    @Constraints.Required
    private int stock;

    @Constraints.Required
    private double price;
}

Java生成的SQL。

create table product (
  id                            bigint not null,
  name                          varchar(255),
  description                   varchar(255),
  stock                         integer,
  price                         double,
  trailer                       varchar(255),
  review                        varchar(255),
  constraint pk_product primary key (id)
);
create sequence product_seq;

我希望能够成功:

create table product (
      ...
      description                   text,
      ...
    );

1 个答案:

答案 0 :(得分:3)

@Column注释允许按columnDefinition参数定义类型,您需要添加它像

@Column(length = 65535,columnDefinition="Text")