@Entity
@Table(name = "appsys_userinfo")
public class User extends GenericEntity {
private Integer token;
@Column(name = "ENDTIME")
private TimeStamp endTime;
@Column(name = "USERIP")
private String userIP;
@Column(name = "iflogin")
private String ifLogin;
@Column(name = "loginservice")
private String loginServer;
@Column(name = "USERID")
private String userId;
@Column(name = "PWD")
private String passWord;
@Column(name = "O_PHONE")
private String o_phone;
@Column(name = "H_PHONE")
private String h_phone;
@Column(name = "DMID")
private String dmid;
@Column(name = "DMMC")
private String dmmc;
@Column(name = "ZHIWEI")
private String zhiwei; @Column(name = "STARTTIME")
private TimeStamp startTime;
这上面是我的实体类表,
但是在向数据库传东西的时候变成了这样:。。
Hibernate:
insert
into
appsys_userinfo
(dmid, dmmc, end_time, h_phone, if_login, login_server, o_phone, pass_word, start_time, token, userip, user_id, zhiwei, id)
values
(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
这些属性 有些 就突然多了根下划线。。为什么呢?。。
@Table(name = "appsys_userinfo")
public class User extends GenericEntity {
private Integer token;
@Column(name = "ENDTIME")
private TimeStamp endTime;
@Column(name = "USERIP")
private String userIP;
@Column(name = "iflogin")
private String ifLogin;
@Column(name = "loginservice")
private String loginServer;
@Column(name = "USERID")
private String userId;
@Column(name = "PWD")
private String passWord;
@Column(name = "O_PHONE")
private String o_phone;
@Column(name = "H_PHONE")
private String h_phone;
@Column(name = "DMID")
private String dmid;
@Column(name = "DMMC")
private String dmmc;
@Column(name = "ZHIWEI")
private String zhiwei; @Column(name = "STARTTIME")
private TimeStamp startTime;
这上面是我的实体类表,
但是在向数据库传东西的时候变成了这样:。。
Hibernate:
insert
into
appsys_userinfo
(dmid, dmmc, end_time, h_phone, if_login, login_server, o_phone, pass_word, start_time, token, userip, user_id, zhiwei, id)
values
(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
这些属性 有些 就突然多了根下划线。。为什么呢?。。
@Column(name = "iflogin")
private String ifLogin;
改为:
@Column(name = "iflogin")
private String iflogin;
1、实体类属性改为小写:
@Column(name = "iflogin")
private String ifLogin;
改为:
@Column(name = "iflogin")
private String iflogin;
2、hibernate映射文件也要相应改掉
<property name="iflogin" type="java.lang.String">
<column name="IFLOGIN" />
</property>
Hibernate:
insert
into
appsys_userinfo
(dmid, dmmc, endtime, h_phone, iflogin, loginserver, o_phone, pwd, userid, userip, zhiwei, id)
values
(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
2011-05-25 10:27:41,813 [http-8080-5] WARN [org.hibernate.util.JDBCExceptionReporter] - SQL Error: 8152, SQLState: 22001
2011-05-25 10:27:41,813 [http-8080-5] ERROR [org.hibernate.util.JDBCExceptionReporter] - 将截断字符串或二进制数据。
2011-05-25 10:27:41,816 [http-8080-5] ERROR [org.hibernate.event.def.AbstractFlushingEventListener] - Could not synchronize database state with session
org.hibernate.exception.DataException: could not insert: [com.ccrise.ikjp.login.entity.User]
1、检查你的数据库表字段长度、触发器等。
2、将sql语句直接到数据库里执行检查。
3、表存在问题,尝试重建表或改下表名重建