论坛首页 Java企业应用论坛

mysql数据库中的text类型字段,用annotation映射

浏览 14274 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-11-07  
我的代码中有一个属性,如下:
private String articleContent;

对应mysql数据库中的'article_content' 字段,数据类型是 text
我用下面的annotation进行映射
@Lob  
@Column(name="article_content",nullable=true,columnDefinition="CLOB")   
public String getArticleContent() {   
    return articleContent;   
}   
public void setArticleContent(String articleContent) {   
    this.articleContent = articleContent;   
}

但是终究还是不行,会出现以下错误:
Unknown column 'article_content' in 'field list'  
xception in thread "main" org.hibernate.exception.SQLGrammarException: could not insert: [com.wmzblog.model.article.Article]

我用的是最新的hibernate3.6版本。
今天测试一下,就是出现上面的错误,始终弄不好,各位大侠知道是怎么回事吗
   发表时间:2010-11-07  
怎么没人回应啊
0 请登录后投票
   发表时间:2010-11-07  
你可以用这个:
text
把长 Java 字符串映射为 SQL 的 CLOB 或者 TEXT 类型。
0 请登录后投票
   发表时间:2010-11-07  
@Lob
@Column(name = "fld_fulltext")
public String getFullText() {
return fullText;
}

https://github.com/hibernate/hibernate-core/blob/3.6/testsuite/src/test/java/org/hibernate/test/annotations/lob/LobTest.java
https://github.com/hibernate/hibernate-core/blob/3.6/testsuite/src/test/java/org/hibernate/test/annotations/lob/Book.java
0 请登录后投票
   发表时间:2010-11-07  
如果你的返回类型是String,并且还标注了@Lob的话,是会绑定到org.hibernate.type.MaterializedClobType类型的,在mysql中对应longtext
0 请登录后投票
   发表时间:2010-11-08  
txc_tang 写道
你可以用这个:
text
把长 Java 字符串映射为 SQL 的 CLOB 或者 TEXT 类型。

我用的是annotation啊,不是xml文件映射
0 请登录后投票
   发表时间:2010-11-08  
shaozhuang.liu 写道
@Lob
@Column(name = "fld_fulltext")
public String getFullText() {
return fullText;
}

https://github.com/hibernate/hibernate-core/blob/3.6/testsuite/src/test/java/org/hibernate/test/annotations/lob/LobTest.java
https://github.com/hibernate/hibernate-core/blob/3.6/testsuite/src/test/java/org/hibernate/test/annotations/lob/Book.java

我就是这样写的呀,但是还是不行,不知道哪里出问题了
0 请登录后投票
   发表时间:2010-11-08  
@Column(name = "fld_fulltext")
public String getFullText() {
return fullText;
}

直接这样就可以了
0 请登录后投票
   发表时间:2010-11-08   最后修改:2010-11-08
去掉@LOB,去掉columnDefinition="CLOB",就OK了。
0 请登录后投票
   发表时间:2010-11-08  
wangpeihu 写道
去掉@LOB,去掉columnDefinition="CLOB",就OK了。

人家就是要的CLOB类型
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics