java JPA:如何将字符串持久化到数据库字段中,键入MYSQL文本
要求是用户可以写一篇文章,因此我为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
是一个实际的类型,但遗憾的是,它并不存在
# 1 楼答案
因为您使用的是JPA,所以可以使用
Lob
注释(也可以选择使用Column
注释)。以下是JPA规范对它的描述:所以,声明如下:
参考文献
# 2 楼答案
对于mysql“文本”:
对于mysql“longtext”:
# 3 楼答案
使用
@Lob
我总是在MySQL中使用LONGTEXT
为了得到
TEXT
,我这样声明(JPA 2.0):我觉得这样更好,因为我可以直接选择该列在数据库中的文本类型
对于
columnDefinition
来说,阅读this也很好编辑:请注意Adam Siemionscomment,并在应用
columnDefinition = "TEXT"
之前检查您正在使用的数据库引擎