精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-11-08
我看你的报错信息“Unknown column 'article_content' in 'field list' ”,是不是对应的表中没有'article_content'字段啊?对比仔细一点……
|
|
返回顶楼 | |
发表时间:2010-11-08
@Lob
@Column(name = "fld_fulltext") public String getFullText() { return fullText; } 正常我们这样写是没有错的 |
|
返回顶楼 | |
发表时间:2010-11-08
@Lob注解表示属性将被持久化为Blob或者Clob类型的字段,
具体取决于属性的类型, java.sql.Clob, Character[], char[] and java.lang.String这些类型的属性都被持久化为Clob字段, 而java.sql.Blob, Byte[], byte[] 和 serializable类型则被持久化为Blob字段。 所以 按下面写会怎样呢? @Lob @Column(name = "fld_fulltext") public String getFullText() { return fullText; } |
|
返回顶楼 | |
发表时间:2010-11-08
最后修改:2010-11-08
qiren83 写道 @Lob
@Column(name = "fld_fulltext") public String getFullText() { return fullText; } 正常我们这样写是没有错的 今天我终于解决了这个问题了!! 我是这样写的: @Lob @Type(type="text") @Column(name="article_content",nullable=true) public String getArticleContent() { return articleContent; } 在上面加了一个@Type(type="text")注解 但是不知道为什么,如果我不加的话,就会插不了数据,出现以下的错误: 2201 [main] WARN org.hibernate.util.JDBCExceptionReporter - SQL Error: 1366, SQLState: HY000 2201 [main] ERROR org.hibernate.util.JDBCExceptionReporter - Incorrect string value: '\xD5\xE2\xCA\xC7\xB4\xF3...' for column 'article_content' at row 1 Exception in thread "main" org.hibernate.exception.GenericJDBCException: could not insert: [com.wmzblog.model.article.Article] |
|
返回顶楼 | |
发表时间:2010-11-08
刚刚再弄了一下,原来去除那个@Lob注解也可以正常插入数据
但是只是像下面这样的话,我是不行的~~不知道你们是不是这样子 @Lob @Column(name="article_content",nullable=true) public String getArticleContent() { return articleContent; } |
|
返回顶楼 | |
发表时间:2010-11-08
望月怀远 写道 刚刚再弄了一下,原来去除那个@Lob注解也可以正常插入数据
但是只是像下面这样的话,我是不行的~~不知道你们是不是这样子 @Lob @Column(name="article_content",nullable=true) public String getArticleContent() { return articleContent; } 我插入的是中文数据,插不进数据,原来是编码类型的问题,于是我把项目和数据库的编码类型都设置为utf-8类型, 但还是插不进中文数据,只可以插入英文数据 |
|
返回顶楼 | |
发表时间:2010-11-08
用@Type(type="text")注解的话,好像什么编码类型都没问题的,
但具体这个@Type注解是怎么回事,就不太清楚了,只会这样用而已, 希望知道的,告诉一下啊 |
|
返回顶楼 | |
发表时间:2010-11-08
你用的是哪个dialect?
MySQL5InnoDBDialect? 如果是的话,应该没有问题的,看我给你的那个测试用例 @Lob还取决于你的返回类型,那个测试用例(包括同包下的其他的)可以看看 |
|
返回顶楼 | |
发表时间:2010-11-08
shaozhuang.liu 写道 你用的是哪个dialect?
MySQL5InnoDBDialect? 如果是的话,应该没有问题的,看我给你的那个测试用例 @Lob还取决于你的返回类型,那个测试用例(包括同包下的其他的)可以看看 我用的确实是MySQL5InnoDBDialect,我就是看了那些测试用例,才知道有个@Type类型的注解, 我在程序上加上@Type(type="text")才行,但不知道什么原因 |
|
返回顶楼 | |
发表时间:2010-11-09
看你的错误提示 还是因为中文乱码引起的
可能是你使用的文本编辑器存在中文编码问题 |
|
返回顶楼 | |