现在在我数据库里面有一张表的字段是 createDate //创建时间
然后我实体类里面有一个属性是
@Column(name = "createDate")
private Date createDate; public Date getCreateDate() {
return this.createDate;
} public void setCreateDate(Date createDate) {
this.createDate = createDate;
}但是现在hibernate解析出来的sql语句是 select engineuser0_.create_date as create3_1_ 所以就报错列名“create_date”无效。
请问下为什么我已经指定了列名@Column(name = "createDate") 他还会给解析成create_date 为什么呢?哪里可以配置么?我用的是ssh。。
然后我实体类里面有一个属性是
@Column(name = "createDate")
private Date createDate; public Date getCreateDate() {
return this.createDate;
} public void setCreateDate(Date createDate) {
this.createDate = createDate;
}但是现在hibernate解析出来的sql语句是 select engineuser0_.create_date as create3_1_ 所以就报错列名“create_date”无效。
请问下为什么我已经指定了列名@Column(name = "createDate") 他还会给解析成create_date 为什么呢?哪里可以配置么?我用的是ssh。。
解决方案 »
- struts2拦截器问题
- lucene中文索引问题。高手帮忙!
- Eclipse发布后的web项目是怎么找到开发时引入的jar包的?
- struts2和jasrreport 两个数据源的问题 急啊!!!!!
- 利用jsp+javabean+servlet的MVC的开发模式如何返回查询的记录集
- 请教一句SQL语句
- 请问大虾们,不知道小弟有没有希望?。。。。送分!
- 关于strtus中的Action类取得ApplicationResources_zh.properties中相关的值?
- ExtJS+Struts2文件上传,来向大神们求救了
- SQL的优化 主要是如何提高聚合函数的运行效率
- 高手指点啊!!! ResultSet rs=SqlBean.executeQuery(sql1);赋值不上啊
- 数据库连接问题菜鸟求教
@Column(name = "createDate")
public Date getCreateDate() {
return this.createDate;
}
public int getHaveBuyPeople() {
return haveBuyPeople;
}
要这样才行呢。注解写在Private不行。要写在get方法上面。然后name对应数据库的字段
public String getUsername() {}
还有。class前要指明表的名字和数据库的名字,比如这样:@Entity
@Table(name = "users", //表 catalog = "users" //数据库)
public class Users implements java.io.Serializable {
@Column(name = "createdate")
@Column(name = "createDate") private Date createDate; public Date getCreateDate() { return this.createDate; } public void setCreateDate(Date createDate) { this.createDate = createDate; } 给LZ提供一个解决思路:
1. 将@Column(name = "createDate")改为:@Column(name = "create_Date")看出来sql是什么?
2. 将private Date createDate改为:private Date createTime; 主要目的是改一下实体名,排除别重复现象。。,然后看一下出来的sql是什么?这样测试做三次:1.和2.步分开做然后1.和2.一起做分别比较sql,然后对比sql变化