JPA:如何将字符串保留到数据库字段中,键入MYSQL Text
要求是用户可以写一篇文章,因此我Text
为content
mysql数据库中的字段选择类型。我如何转换Java String
成MySQL
Text
干得好 Jim Tough
@Entitypublic 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
是一个实际的类型,但是可惜的是,这并不存在
回答:
由于您使用的是JPA,因此请使用Lob
注释(和可选的Column
注释)。这是JPA规范对此的说明:
9.1.19吊球注释
甲
Lob
注释指定持久性属性或字段应保持为一个大型对象到数据库支持的大对象类型。可移植应用程序Lob
在映射到数据库Lob类型时应使用注释。Lob注释可以与
Basic
注释结合使用。Lob可以是二进制或字符类型。Lob类型是从持久性字段或属性的类型推断出来的,除了基于字符串和字符的类型外,默认为Blob。
因此,声明如下:
@Lob @Column(name="CONTENT", length=512)
private String content;
参考文献
- JPA 1.0规范:
- 第9.1.19节“ Lob注释”
以上是 JPA:如何将字符串保留到数据库字段中,键入MYSQL Text 的全部内容, 来源链接: utcz.com/qa/405295.html