【发布时间】:2013-12-31 11:04:09
【问题描述】:
我正在使用 JEE 技术(EJB、JPA 持久性、MySQL DB、Apache TomEE 服务器)实现简单的博客应用程序。 我不确定如何注释实体内的某些类型以正确映射到适当的 mysql 类型。
例如,我有一个名为“Post”的实体,其中包含“content”字段,这是我对其进行注释的方式:
@Column(name = "post_content", columnDefinition = "TEXT", nullable = false)
private String content;
此字段代表博客文章的内容,其长度不受限制。 (博客文章可能很长)。我知道在 JPA 中默认情况下,String 被映射到 mysql varchar(255) 类型。这是我收到的警告;
WARN [http-bio-8080-exec-10] openjpa.jdbc.Schema - Existing column "post_content" on table "post" is incompatible with the same column in the given schema definition. Existing column:
Full Name: post.post_content
Type: longvarchar
Size: 65535
Default: null
Not Null: true
Given column:
Full Name: post.post_content
Type: varchar
Size: 255
Default: null
Not Null: true
注释这类字段的正确方法是什么?
【问题讨论】:
标签: mysql hibernate jpa ejb openjpa