spring问题,事务提交阶段显示主键ID为0,插入数据库失败

问题描述

spring问题,事务提交阶段显示主键ID为0,插入数据库失败
struts2+hibernate4创建了一个注册系统,本来没问题的,但是整合加入spring之后在注册报空指针异常,在事务提交阶段取到的userId为0.感觉就是在new user()那里出问题,但是一直找不到问题根源困扰好久,*.hbm.xml,实体类都没问题,就是事务提交主键ID老是提示为0,怎么解决

实体类文件
package com.chengji.ssh.beans;

public class User {
private String username;

private String password;

private int gender;
private int userId;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public int getGender() {
return gender;
}
public void setGender(int gender) {
this.gender = gender;
}
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
}
*.hbm.xml文件
<?xml version=""1.0"" encoding=""UTF-8""?>
<!DOCTYPE hibernate-mapping PUBLIC
-//Hibernate/Hibernate Mapping DTD 3.0//EN""
http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"">

not-null=""true"" length=""16"">
not-null=""true"" length=""16"" />
length=""1"" />

解决方案

页面上的代码是什么样的呢,userid那个标签的name写对了么,有对应的value么

时间: 2025-01-27 00:30:18

spring问题,事务提交阶段显示主键ID为0,插入数据库失败的相关文章

MySQL生产库Insert了2次同样的记录但是主键ID是不一样的问题的分析过程_Mysql

Email里面收到朋友laopan的求助 laopan:insert into HudsonResult(JobID,EnvironmentID,FirstSessionID,RerunSessionID,State,Desp,OtherInfo) values ((select ID from Hudson where Stream='A7510_R52_Integration' and State='N' and pakName='needCompile' and User='jinhaiz

mysql插入数据时失败但是主键id自动增加了一该如何解决

问题描述 mysql插入数据时失败但是主键id自动增加了一该如何解决 插入时因重复导致插入失败会导致id自增,第二次插入其它数据时会在会变成id加了两次的情况 解决方案 配置一下事务,如果出现异常情况则数据库进行回滚 解决方案二: 重复是指别的字段重复了是吧 解决方案三: 1.在保存前要有数据的正确性校验处理 2.插入数据操作改成存储过程,检查是否有重复 解决方案四: 建议使用事务来进行持久化的处理,这样可能就不会出错了.希望对你有用 解决方案五: 自增是这样的,,如果失败回自动加一,,但数据不

mybatis+mysql 一表主键自增, 插入数据,怎么返回主键

问题描述 mybatis+mysql 一表主键自增, 插入数据,怎么返回主键 mybatis+mysql 一表主键自增, 插入数据,怎么返回主键.很多人说的都是返回了插入的行数 解决方案 <insert id="insert" parameterType="Person" useGeneratedKeys="true" keyProperty="id"> insert into person(name,pswd)

informix数据库表主键重复,数据插入失败。怎么解决?在线急等!!!!

问题描述 informix数据库表主键重复,数据插入失败.怎么解决?在线急等!!!! informix数据插入出现主键重复.怎么可以更好地解决这类问题? 解决方案 数据库表插入数据失败数据库表中插入重复数据的处理数据库表中插入重复数据的处理

hibernate主键生成策略identity··为什么加入的第一个数据主键一直是0

问题描述 hibernate主键生成策略identity··为什么加入的第一个数据主键一直是0 从0开始没有1····· 解决方案 配置问题..............................

主键自增-数据库如何实现某主键以另一自增主键id为前缀自增

问题描述 数据库如何实现某主键以另一自增主键id为前缀自增 比如说,建立比赛和队伍两个表,想让队伍id在这个队伍参加的比赛的id前实现自增.有什么办法?顺便问一下,数据库操作入门有什么好的推荐吗?只掌握基础的增删改查-T-T希望大家帮我一下,谢谢大家 解决方案 你查询的时候, select (队伍id + 比赛id) as 编号 from 表 解决方案二: 如果这样,没有必要写在数据库中,增加数据冗余,只要查询的时候拼接就可以了. 解决方案三: 关于资料,自己google下有很多,关键是没有说你

sqlite developer 怎么设置主键Id自增长呢

问题描述 sqlite developer 怎么设置主键Id自增长呢 刚接触sqlite数据库,然后想建表操作,用的是sqlite developer,但不知该如何设置主键自增长呢 解决方案 创建表的时候给该键加上 PRIMARY KEY AUTOINCREMENT ?

主键id的问题,主键为字符串

问题描述 主键id的问题,主键为字符串 这两天我看到别人的主键id如图 这和普通的那个整型的不同,为什么使用这种方式呢?有什么异同呢?希望大神解答一下 解决方案 **通常使用uuid做为id 解决方案二: 这是md5加密过的把 这样就不怕别人偷数据了 解决方案三: **通常使用uuid做为id

是不是用JAVA做的BS项目里 javabean就对应数据库一个表 javabean必须有一个主键ID 对应数据库里表的主键 是这样吗

问题描述 是不是用JAVA做的BS项目里javabean就对应数据库一个表javabean必须有一个主键ID对应数据库里表的主键是这样吗 解决方案 解决方案二:请教各位大牛一下是这样的吗解决方案三:没人指点下嘛解决方案四:不是必须的.主要看业务.解决方案五:引用3楼chouy的回复: 不是必须的.主要看业务. 那hibernate不是都要指定主键生成器吗解决方案六:这样做最好了,省的想太多,如果某些表的某些字段经常使用,也可以考虑抽取出来解决方案七:最好指定ID