Hibernate之org.hibernate.exception.GenericJDBCException:could not execute statement_谢同学谢童鞋的博客-程序员秘密

技术标签: Java  Java框架  错误  问题  jdbc  hibernate  

ERROR: Field 'rempid' doesn't have adefault value

2016-3-1 21:07:20 org.hibernate.engine.jdbc.batch.internal.AbstractBatchImplrelease

INFO: HHH000010: On release of batchit still contained JDBC statements

Exception in thread "main" org.hibernate.exception.GenericJDBCException:could not execute statement

 

员工与项目多对多的关联映射关系

many2many.sql:

create table project
(
proid int primary key,
proname varchar(20)
);


create table employee
(
empid int primary key,
empname varchar(20)
);


create table proemp
(
rproid int,
rempid int
);
alter table proemp add constraint fk_rproid
foreign key (rproid) references project(proid);
alter table proemp add constraint fk_rempid
foreign key (rempid) references employee(empid);

 

在员工映射文件Employee.hbm.xml中:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC 
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.imooc.entity.Employee" table="employee">
<id name="empid" column="empid" type="java.lang.Integer">
<generator class="assigned"></generator>
</id>
<property name="empname" type="java.lang.String">
<column name="empname" length="20" not-null="true"></column>
</property>
<!-- 配置多对多的关联映射 -->
<set name="project" table="project" inverse="true">
<key column="rempid"></key>
<many-to-many class="com.imooc.entity.Project" column="rproid"></many-to-many>
</set>
</class>
</hibernate-mapping>

因为表proemp是从project和employee两张表独立出来的,rempid是proemp的主键也是外键。

在映射文件中多对多的配置出现错误,此处的table应该为proemp。

映射文件多对多的配置table要指明是单独出来的第三张表,千万不能写错。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/LuuvyJune/article/details/50783882

智能推荐

C语言 - C语言简介_weixin_30832405的博客-程序员秘密

一、C语言的发展史  C语言的发展离不开B语言,我们先从B语言说起。在1970年时,贝尔实验室的肯.汤姆逊将BCPL语言进行修改,由于肯.汤姆逊是从BCPL语言进行修改,因此,此时B语言就诞生了,B的含义就是肯.汤普逊觉得他所完善的语言是BCPL语言的精华,因此就只取B这个字母。  在1973年时,又一位贝尔实验室的大佬,也就是丹尼斯.里奇,根据肯.汤普逊的B语言,将B语言进行提炼,最后产...

8月推荐给程序员们的电子书 | 附半价电子书福利_志敏的博客-程序员秘密

半价电子书福利自发布时间起24小时内有效。8月即将结束,这个月,圈子里都在关注哪些电子书?让我们来一探究竟。电子书榜单1、软技能:代码之外的生存指南 【美】John Z. Sonmez(约翰 Z. 森梅兹) (作者) 王小刚 (译者)软件行业泰斗级人物Martin和软件架构师Hanselman作序推荐凸显技术中人的因素,讲解软件专业的所有软技能John是软件开发人员的人生导师这是一本真正...

几个实用的ObjectARX插件_csdn gc200_10thDimension的博客-程序员秘密

几个实用的插件本文转载链接:几个实用的插件 http://bbs.mjtd.com/forum.php?mod=viewthread&tid=169751&fromuid=7314821删除重覆实体acDocManager->lockDocument(acDocManager->curDocument());CDwgDatabaseUtil::setVar(_T("cmdecho"), 0);

嵌入式工程师之路_lusir3的博客-程序员秘密

经过一段艰难的找工作历程,我终于开始了新的生活 在面试那段时间我看到了一个面试经验分享的帖子:《一个五年Android开发者百度、阿里、聚美、映客的面试心经》,同样工作5年,我实在自愧不如。或许是因为嵌入式太繁杂,一个公司一种开发模式,导致我个人的积累有些单薄。为了方便大家,我决定简单列出面试题目,而不做详细说明,大家可以自己去搜索答案。背景: 我之前工作过两家公司,一家做

转Configure,Makefile.am, Makefile.in, Makefile文件之间关系_ren911的博客-程序员秘密

  1.autoscan (autoconf): 扫描源代码以搜寻普通的可移植性问题,比如检查编译器,库,头文件等,生成文件configure.scan,它是configure.ac的一个雏形。     your source files --> [autoscan*] --> [configure.scan] --> configure.ac 2.aclocal (automake):根据已经安装的宏,用户定义宏和acinclude.m4文件中的宏将configure.ac文件所需要的宏集中定

字符串拼接还在用StringBuilder?快试试Java8中的StringJoiner吧,真香!_Java知音_的博客-程序员秘密

前言之前,我们经常会通过StringBuffer或者StingBuilder对字符串进行拼接,但是你知道Java8中推出的StringJoiner吗?它比前者更加优美、灵活,如果你现在还使...

随便推点

手把手教你抓住 webservice 发送的数据包_web登录 发送包_Deniro Lee的博客-程序员秘密

因为 webservice 底层是使用 HTTP 协议发送数据包的,所以我们先安装一个 http 协议的调试工具 fiddler4(下载地址)安装好后的界面是这样的:手上的这个项目是作为 webservice 的客户端,来调用 webservice 服务端的,即服务端调用服务端的模式,所以直接使用 fiddler4 是抓不到包的哦。我们要在 java 的方法中加入代理设置:System.setPro

解读Beta 分布、二项分布,结合CancerLocator_二项分布后验概率_烤鸭片果果的博客-程序员秘密

投一枚硬币四次,两次正面,两次背面,问:投这枚硬币正面的概率 P 是多少?        答:0.5        错错误的原因有两个可能。我们有一个先入为主的概念,认为硬币就是正反面的,所以就应该是正反面平均一下。 我们根据实验的结论,2/4 = 0.5, 所以硬币是正面的概率是0.5。上面的两种错误相互对立,历史告诉我们,将两种对立的错误加以整合,往往就能得到一个超级自然...

Java angry bird_JAVA swing高仿愤怒的小鸟AngryBird源代码下载_weixin_39621870的博客-程序员秘密

/** To change this template, choose Tools | Templates* and open the template in the editor.*/package AngryBirdsApplication;import AngryBirdsLevel.BirdsLevel;import java.awt.CardLayout;import java.awt....

FZU 2082(树链剖分模板题)_playwfun的博客-程序员秘密

一颗树边上的权在变动,动态求两点之间的和。#include #include #include #include #include #include #include #include #include using namespace std;#define LL long long#define pi acos(-1.0)//#pragma comment(linke

PyEcharts 基本图表之饼图 educoder_SuperHero丶的博客-程序员秘密

第1关:Pie:饼图(一)from PreTest import *from pyecharts import options as optsfrom pyecharts.render import make_snapshotfrom snapshot_phantomjs import snapshotfrom pyecharts.charts import Piefrom pyecharts.faker import Fakerdata = [list(z) for z in zi

计算机图形学基础及应用大纲,《计算机图形学》教学大纲_愚夫股份的博客-程序员秘密

《计算机图形学》教学大纲课程编号:1504P1113课程类型:专业选修课程名称:计算机图形学 英文名称:Computer Graphics学  分:2.5适用专业:信息与计算科学一、课程的性质、目的和任务《计算机图形学》是信息与计算科学专业的一门专业选修课,系统地介绍了计算机图形学的基本概念和相关技术。开设本课程的目的,是帮助学生了解图形学的研究思想,并能运用到其它领域以解决相关问题;是培养学生的...

推荐文章

热门文章

相关标签