先贴代码  
建表语句:
create table testuser
(
  id         bigint primary key , -- '主键'
  username   varchar(128) not null , -- '用户名'
  passwords  varchar(128) not null , -- '密码'  
  createTime datetime , -- '建立时间'
  delFlag    varchar(1)  -- '删除标记'  
);实体代码:@Entity
@Table(name = "testuser")
public class TestUser implements Serializable{ /**
 * 
 */
private static final long serialVersionUID = 841973474638798935L; private Integer id; private String username; private String passwords;

private Date createTime;

private String delFlag; @Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public Integer getId() {
return id;
} public void setId(Integer id) {
this.id = id;
} @Column(name="username")
public String getUsername() {
return username;
} public void setUsername(String username) {
this.username = username;
}

@Column(name="passwords")
public String getPasswords() {
return passwords;
} public void setPasswords(String passwords) {
this.passwords = passwords;
} @Column(name="createTime")
public Date getCreateTime() {
return createTime;
} public void setCreateTime(Date createTime) {
this.createTime = createTime;
} @Column(name="delFlag")
public String getDelFlag() {
return delFlag;
} public void setDelFlag(String delFlag) {
this.delFlag = delFlag;
}}控制台打印的sql语句:
Hibernate: 
    select
        testuser0_.id as id0_,
        testuser0_.create_time as create2_0_,
        testuser0_.del_flag as del3_0_,
        testuser0_.passwords as passwords0_,
        testuser0_.username as username0_ 
    from
        testuser testuser0_ 
    where
        testuser0_.del_flag=0最后查询的结果就是数据库的表多了两列 create_time 和del_flag
都是大写变成了_
数据库用的是sql server2008
hibernate的datasource配的是org.springframework.jdbc.datasource.DriverManagerDataSource如果配的是org.apache.commons.dbcp.BasicDataSource的话 
查询的结果会报列名无效的错误。还有就是用了ehcache缓存 不知道有没有影响。
求大牛来结局问题