配hibernate的时候,老报:org.hibernate.exception.DataException: Could not execute JDBC batch update

publicclassHibernateManager{privatestaticIntegersdeptno;privatestaticIntegersempno;pr... public class HibernateManager {
private static Integer sdeptno;
private static Integer sempno;
private static Integer sComm;
private static String setComs;

public static void main(String[] args) {
Configuration conf = new Configuration().configure();
SessionFactory sf = conf.buildSessionFactory();
Session sess = sf.openSession();
Transaction tx = sess.beginTransaction();

test01DO tes1 = new test01DO();
// tes1.setComm(22);
// tes1.setComments("hl");
// tes1.setDeptno(20);
// tes1.setEmpno(10);
// tes1.setEname("doy");
// tes1.setGender("som");
// tes1.setHiredate(new DATE());
// tes1.setJob("it");
// tes1.setMgr(20);
// tes1.setPhoto("pc");
// tes1.setSal(30);
sess.save(tes1);
tx.commit();
sess.close();
sf.close();

}
}

没用注释的部分插入空po,可以执行,没报任何错误,注释掉之后就报上面的错误。
展开
 我来答
andygulin
2012-09-04 · TA获得超过1678个赞
知道小有建树答主
回答量:1362
采纳率:0%
帮助的人:1119万
展开全部
1.因为Hibernate Tools(或者Eclipse本身的Database Explorer)生成*.hbn.xml工具中包含有catalog="***"(*表示数据库名称)这样的属性,将该属性删除就可以了
2.估计是你的列名里面有关键字的原因吧,命名列的时候不要单独使用date,ID...这种关键字
魔盒水晶
推荐于2018-05-10 · TA获得超过371个赞
知道小有建树答主
回答量:957
采纳率:0%
帮助的人:382万
展开全部
按照你的说法"没用注释的部分插入空po,可以执行,没报任何错误。",有可能是你的实体类总的数据类型与数据库中字段的类型对应的不一致,导致更新的时候出错.比如数据库是number类型,但是你在实体中设置为string.检查一下,看看. 初步怀疑是"// tes1.setHiredate(new DATE());"的问题,你把其他的注释都去掉,只保留它看看,应该也不报错吧,
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9867d98
2012-09-04 · 超过46用户采纳过TA的回答
知道小有建树答主
回答量:129
采纳率:100%
帮助的人:89.5万
展开全部
这个很难说清楚,有很多的情况会发生这种错误,起码要有错误详细信息和代码才能看 .

你是不是设值得时候,给主键设了值,但是不符合你自己hbm.xml所配置的主键生成规则?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式