实体类如下:

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. JS实现链式调用 a().b().c()

    function a() { this.b = function () { console.log('111') return this } this.c = function () { consol ...

  2. python之with语句结合上下文管理器

    所谓上下文管理器即在一个类中重写了__enter__方法和__exit__方法的类就可以成为上下文管理器类. 我们可以通过with语句结合上下文管理器简化一些操作. 使用with语句结合自定义上下文管 ...

  3. Visual Studio2019及.NET CORE3.0的安装教程

    看到很多开发.net core的初学者在安装的时候就陷入问题了,不知道安装那些东西,好吧,既然要分享知识那么就尽量做得精细一点吧,我决定从零开始为大家讲解.net core,同时有.net core工 ...

  4. 用递归实现N!

    def digui(n): result = 1 if n == 2: result = 2 elif n > 2: result = n* digui(n-1) print(result) r ...

  5. NodeJS1-2 Node JS的优点

    NodeJS并不适合所有server端的场景,它的使用场景是及其有限的,web是nodeJS最适合的场景 前端偏爱node的原因其内核就是JavaScript 前端职责范围变大,统一开发体验 在处理了 ...

  6. Caffe源码-Layer类

    Layer类简介 Layer是caffe中搭建网络的基本单元,caffe代码中包含大量Layer基类派生出来的各种各样的层,各自通过虚函数 Forward() 和 Backward() 实现自己的功能 ...

  7. windows环境下Git的安装部署

    一.获取安装包 百度搜索“git”,或者访问git官网:https://git-scm.com/,在首页中点击“downloads”进入下载页面 点击“windows”,获取安装包 二.安装部署 双击 ...

  8. oop面向对象【接口、多态】

    今日内容 1.接口 2.三大特征——多态 3.引用类型转换 教学目标 1.写出定义接口的格式 2.写出实现接口的格式 3.说出接口中成员的特点 4.能够说出使用多态的前提条件 5.理解多态的向上转型 ...

  9. .NET Core和无服务器框架

    无服务器框架是一个云提供商无关的工具包,旨在帮助构建,管理和部署无服务器组件的操作,以实现完整的无服务器架构或不同功能即服务(FaaS).无服务器框架的主要目标是为开发人员提供一个界面,该界面抽象出云 ...

  10. 使用PIL将图片转成字符

    注意:转化成txt后,txt的字体使用“宋体”,不能使用“微软雅黑”,否则图像会变形 import numpy as npfrom PIL import Image if __name__ == '_ ...