实体类如下:

package com.wondersgroup.test.entity;
 
import java.io.Serializable;
 
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
 
@Entity
@Table(name = "TB_YYZZ_DIC_Hospital")
public class TbDicHospital implements Serializable{
 
private static final long serialVersionUID = 1L;
private String yyjgbm;
private String byzd;
private String byzd1;
private String byzd2;
private String hysm;
private String hyss;
private String jgjc;
private String jglx;
private int xh;
private String yltbs;
private String yyjgmc;
 
public TbDicHospital() {
}
 
 
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="YYJGBM")
public String getYyjgbm() {
return this.yyjgbm;
}
 
public void setYyjgbm(String yyjgbm) {
this.yyjgbm = yyjgbm;
}
 
 
@Column(name="BYZD")
public String getByzd() {
return this.byzd;
}
 
public void setByzd(String byzd) {
this.byzd = byzd;
}
 
 
@Column(name="BYZD1")
public String getByzd1() {
return this.byzd1;
}
 
public void setByzd1(String byzd1) {
this.byzd1 = byzd1;
}
 
 
@Column(name="BYZD2")
public String getByzd2() {
return this.byzd2;
}
 
public void setByzd2(String byzd2) {
this.byzd2 = byzd2;
}
 
 
@Column(name="HYSM")
public String getHysm() {
return this.hysm;
}
 
public void setHysm(String hysm) {
this.hysm = hysm;
}
 
 
@Column(name="HYSS")
public String getHyss() {
return this.hyss;
}
 
public void setHyss(String hyss) {
this.hyss = hyss;
}
 
 
@Column(name="JGJC")
public String getJgjc() {
return this.jgjc;
}
 
public void setJgjc(String jgjc) {
this.jgjc = jgjc;
}
 
 
@Column(name="JGLX")
public String getJglx() {
return this.jglx;
}
 
public void setJglx(String jglx) {
this.jglx = jglx;
}
 
 
@Column(name="XH")
public int getXh() {
return this.xh;
}
 
public void setXh(int xh) {
this.xh = xh;
}
 
 
@Column(name="YLTBS")
public String getYltbs() {
return this.yltbs;
}
 
public void setYltbs(String yltbs) {
this.yltbs = yltbs;
}
 
 
@Column(name="YYJGMC")
public String getYyjgmc() {
return this.yyjgmc;
}
 
public void setYyjgmc(String yyjgmc) {
this.yyjgmc = yyjgmc;
}
}
dao调用如下:

@Override

public String addHospital(TbDicHospital tbDicHospital) {

Session session=null;

Boolean result=false;

System.out.println(tbDicHospital.getYyjgbm());

session=this.sessionFactory.getCurrentSession();

session.beginTransaction();

session.save(tbDicHospital);

session.getTransaction().commit();

session.close();

result=true;

return result.toString();

}

在执行过程中:存在以下问题:

经过排查,传递参数的过程中没有问题:

 

问题出在Hibernate自动生成的SQL语句中,缺少了该字段:

可以发现,并没有yyjgbm字段;

设置字段为@ID的时候,无反应;

是主键增长策略的问题,没法绕开,只好写sql了;

Hibernate session.save()实体类,主键增长问题的更多相关文章

  1. nhibernate实体类主键ID赋值问题

    有个同事忽然来找我,说他遇到了一个问题,在调用nhibernate 进行update数据的时候报错,说是有数据行锁定. 看代码,没啥问题. 直接在PL/SQL developer里对数据库进行插入,也 ...

  2. (二)JPA实体类主键生成策略

    在JPA中,配置实体类的主键的生成策略使用 @GeneratedValue @Id @Column(name = "id") @GeneratedValue(strategy = ...

  3. Hibernate自动生成实体类注解(转)

    常用的hibernate annotation标签如下: @Entity --注释声明该类为持久类.将一个Javabean类声明为一 个实体的数据库表映射类,最好实现序列化.此时,默认情况下,所有的类 ...

  4. hibernate 非xml实体类配置方法!

    hibernate 非xml实体类配置方法! 这个是hibernate.cfg.xml配置文件 <?xml version='1.0' encoding='UTF-8'?> <!DO ...

  5. mysql 插入数据失败防止自增长主键增长的方法

    mysql设置了自增长主键ID,插入失败的那个自增长ID也加一的,比如失败5个,下一个成功的不是在原来最后成功数据加1,而是直接变成加6了,失败次数一次就自动增长1了,能不能让失败的不增长的? 或者说 ...

  6. 在Intellij IDEA下通过Hibernate逆向生成实体类

    前言:在IDEA中,通过相关插件,可以利用Hibernate逆向生成数据表对应的实体类.具体操作及注意事项见本篇随笔. 1.创建一个基于maven的hibernate工程.并在工程中添夹hiberna ...

  7. EF5+MVC4系列(2) EF5报错 无法确定“XXX”关系的主体端。添加的多个实体可能主键相同

    情景:用户表和订单表是一对多的关系,即 一个 Userinfo  对应对应有 多个 Order表   如果我在EF中,先创建一个用户,然后创建3个订单,然后关联这1个用户和3个订单的关系,毫无问题. ...

  8. hibernate 反向生实体类 and 为什么老是多一个id

    hibernate 反向生实体类 and 为什么老是多一个id 2017年04月01日 20:32:51 阅读数:548

  9. java框架之Hibernate(2)-持久化类&主键生成策略&缓存&事务&查询

    持久化类 概述 持久化:将内存中的对象持久化到数据库中的过程就是持久化.Hibernate 就是用来进行持久化的框架. 持久化类:一个 Java 对象与数据库的表建立了映射关系,那么这个类在 Hibe ...

随机推荐

  1. stm32 io操作 头文件规范

    在stm32众多项目开发中,有太多的对io进行操作,若置1或清0,使用官方库提供的函数,固然方便,规范,但是需要包含标准的库,尺寸较大,还得处理不同版本兼容问题,包括io初始化也太繁琐,于是操作原子等 ...

  2. JS系列:js数据类型的转换

    数据类型的转换[基本数据类型]数字 number字符串 string布尔 boolean空 null未定义 undefined[引用数据类型]对象 object普通对象 {}数组对象 [](Array ...

  3. 201871010119-帖佼佼《面向对象程序设计(java)》第二周学习总结

    项目 内容 这个作业属于哪个课程 <任课教师博客主页链接>     https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 <作业链接地址> ...

  4. java中小数点位数

    import java.math.BigDecimal;import java.text.DecimalFormat;import java.text.NumberFormat;import java ...

  5. Linux Bash之通配符

    通配符是我们在shell环境中不知不觉中都会用到的,有时甚至都不会考虑到去探究其实现过程,因为使用得太普遍了.而清晰地理解每一个过程,将有助于我们的分析和调试. 说白了,通配符就是在 shell 环境 ...

  6. 起言-----UE4学习方法

    1.bilibili 2.官网教程 3.我觉得以上两个就够了 官方文档链接 https://docs.unrealengine.com/ 官网在线视频链接 https://learn.unrealen ...

  7. 服务器端Mysql常用操作

    原文内容来自于LZ(楼主)的印象笔记,如出现排版异常或图片丢失等问题,可查看当前链接:https://app.yinxiang.com/shard/s17/nl/19391737/f7463513-5 ...

  8. 什么是Java优先级队列?

    PriorityQueue是基于无界优先级队列和优先级堆构建的重要Java API之一.本文通过适当的代码示例深入了解了有关此API及其用法的一些复杂信息.另在上篇文章中我们简单地谈了下Java编译器 ...

  9. c++-变量,this指针,全局函数,成员函数,自定义数组类

    区分变量属于哪个对象 c++对象管理模型初探 C++类对象中的成员变量和成员函数是分开存储的,C中内存四区仍然有效 C++编译器对普通成员函数的内部处理(隐藏this指针) this指针解决函数形参和 ...

  10. 微服务与敏捷开发(Scrum/Kanban)的核心思想之我见

    微服务与敏捷开发(Scrum/Kanban)的核心思想之我见   关于"微服务"和"敏捷开发"的文章网络上有很多,所以这里不再重复叙述这些概念的解释和特点,而是 ...