要求是用户可以写一篇文章,因此我Text为contentmysql数据库中的字段选择类型。我如何转换Java String成MySQL Text
Text
content
Java String
MySQL Text
干得好 Jim Tough
Jim Tough
@Entity public class Article implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; private Long userId; private String title; private String content; private Integer vote; //Constructors, setters, getters, equals and hashcode }
在我的MYSQL数据库中,content类型为Text。我希望会有这样的东西java.sql.Text,因为这java.sql.Blob是一个实际的类型,但是可惜的是,这并不存在
java.sql.Text
java.sql.Blob
由于您使用的是JPA,因此请使用Lob注释(和可选的Column注释)。这是JPA规范对此的说明:
Lob
Column
9.1.19吊球注释 甲Lob注释指定持久性属性或字段应保持为一个大型对象到数据库支持的大对象类型。可移植应用程序Lob在映射到数据库Lob类型时应使用 注释。Lob注释可以与Basic注释结合使用 。Lob可以是二进制或字符类型。Lob类型是从持久性字段或属性的类型推断出来的,除了基于字符串和字符的类型外,默认为Blob。
甲Lob注释指定持久性属性或字段应保持为一个大型对象到数据库支持的大对象类型。可移植应用程序Lob在映射到数据库Lob类型时应使用 注释。Lob注释可以与Basic注释结合使用 。Lob可以是二进制或字符类型。Lob类型是从持久性字段或属性的类型推断出来的,除了基于字符串和字符的类型外,默认为Blob。
Basic
因此,声明如下:
@Lob @Column(name="CONTENT", length=512) private String content;