![](/img/trans.png)
[英]How do I persist a MySQL timestamp field as a long (epoch) field in java using JPA?
[英]JPA: how do I persist a String into a database field, type MYSQL Text
要求是用户可以写一篇文章,因此我选择为mysql数据库中的content
字段键入Text
。 如何将Java String
转换为MySQL Text
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
是一个实际类型,但遗憾的是,它不存在
由于您使用的是JPA,因此请使用Lob
注释(以及可选的Column
注释)。 以下是JPA规范所说的内容:
9.1.19 Lob注释
Lob
注释指定持久属性或字段应作为大对象持久保存到数据库支持的大对象类型。 便携式应用程序在映射到数据库Lob类型时应使用Lob
注释。 Lob注释可以与Basic
注释一起使用。 Lob可以是二进制或字符类型。 Lob类型是从持久字段或属性的类型推断出来的,除字符串和基于字符的类型外,默认为Blob。
所以声明这样的事情:
@Lob
@Column(name="CONTENT", length=512)
private String content;
对于mysql'text':
@Column(columnDefinition = "TEXT")
private String description;
对于mysql'longtext':
@Lob
private String description;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.