近来做毕业设计,使用hibernate和mysql数据库。在插入数据时出现如下问题:
异常1:
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'index) values ('123', 4)' at line 1
异常2:
org.hibernate.exception.SQLGrammarException: could not insert: [qau.cookbook.hibernate.po.basedata.Foodkindctrl]
下面是我的数据库表的映射文件:
<hibernate-mapping>
<class name="qau.cookbook.hibernate.po.basedata.Foodkindctrl" table="foodkindctrl" catalog="cookbook">
<id name="id" type="integer">
<column name="id" />
<generator class="identity" />
</id>
<property name="foodkindctrlname" type="string">
<column name="foodkindctrlname" length="20" />
</property>
<property name="index" type="integer">
<column name="index" />
</property>
<set name="foodkinddtls" inverse="true">
<key>
<column name="foodkindctrlid" />
</key>
<one-to-many class="qau.cookbook.hibernate.po.basedata.Foodkinddtl" />
</set>
</class>
</hibernate-mapping>
下面是pojo类文件:
public class Foodkindctrl implements java.io.Serializable {
// Fields
private Integer id;
private String foodkindctrlname;
private Integer index;
private Set foodkinddtls = new HashSet(0);
// Constructors
/** default constructor */
public Foodkindctrl() {
}
/** full constructor */
public Foodkindctrl(String foodkindctrlname, Integer index, Set foodkinddtls) {
this.foodkindctrlname = foodkindctrlname;
this.index = index;
this.foodkinddtls = foodkinddtls;
}
// Property accessors
public Integer getId() {
return this.id;
}
public void setId(Integer id) {
this.id = id;
}
public String getFoodkindctrlname() {
return this.foodkindctrlname;
}
public void setFoodkindctrlname(String foodkindctrlname) {
this.foodkindctrlname = foodkindctrlname;
}
public Integer getIndex() {
return this.index;
}
public void setIndex(Integer index) {
this.index = index;
}
public Set getFoodkinddtls() {
return this.foodkinddtls;
}
public void setFoodkinddtls(Set foodkinddtls) {
this.foodkinddtls = foodkinddtls;
}
}
下面是我写的插入函数:
public boolean saveKindCtrl(Foodkindctrl kindCtrl){
Transaction tx=null;
try{
Session session = HibernateSessionFactory.getSession();
tx = session.beginTransaction();
session.save(kindCtrl);
tx.commit();
log.debug("保存成功");
return true;
}catch(Exception e){
e.printStackTrace();
log.debug("保存失败");
return false;
}finally{
HibernateSessionFactory.closeSession();
}
}
请问各位高手为什么会出现这样的问题,该如何解决呢?
分享到:
相关推荐
在`MyTransactionTemplate.java`中,这是一个自定义的事务模板类,它继承自Spring的`TransactionTemplate`。这个类用于在非代理对象中进行事务操作,通常在AOP无法自动管理事务的场景下使用。你需要检查其中的`...
Hibernate是一个对象关系映射(Object-Relational Mapping,ORM)工具,它简化了Java应用程序与数据库之间的交互。通过Hibernate,开发者可以使用Java对象来操作数据库记录,避免了繁琐的SQL语句编写。Hibernate支持...
这篇实习报告描述了一次在2011年7月至8月期间进行的网站开发实习,实习生专注于构建一个二手房发布网站。实习的主要目的是检验和提升实习生的计算机知识、问题解决能力、团队协作精神以及与人沟通的技巧。以下是该...
首先,软件开发并非仅仅局限于编码,编码只是整个软件工程中的一个小部分。在实际工作中,需求分析、可行性分析、项目管理、测试和维护等都是至关重要的环节。这体现了软件工程的全面性和系统性,需要开发者具备更...
Hibernate是一个持久化框架,简化了数据库操作。学习这些框架要根据实际项目需求,不必一开始就深入所有技术。 最后,了解并掌握J2EE中常见的API版本,如JavaServer Pages (JSP) 1.2、Java Servlet 2.3、JDBC API ...
我到公司不久,第一个工程是xxx公司网站,做这个工程的时候我遇到了几个问题,我在以前公司做的时候没有在这么短的时候完成一个工程的,在效率上提高了我的能力。做这个工程的时候我也遇到了许多以前没有遇到过的...
【标题与描述】所提及的文档是一个关于研发技术人员试用期转正的工作总结样本,主要包含三篇不同的工作总结。这些总结旨在帮助读者了解一个研发人员在试用期内的工作经历、学习成果、遇到的问题以及未来的规划。 ...
- 完成一个完整的Java EE项目,体验企业级应用的开发流程。 5. **移动应用开发**: - 掌握Java在移动应用开发中的应用,尤其是Android开发。 - 通过实践项目,学会使用Android Studio开发Android应用。 6. **...
在遇到问题时,实习生要学会独立思考和解决问题,同时也要善于利用团队资源,如向有经验的同事请教。实习期结束后,实习生应进行总结,回顾在实习过程中的成长,为未来的职业生涯做好准备。通过这样的实习经验,实习...
3月29日,我开始熟悉现有的项目代码,对已有系统的架构有了更深入的理解,这是一个持续学习和适应的过程。 通过这六篇计算机实习日记,我们可以看出实习生在实际工作中逐步适应企业环境,理解不同工作岗位的重要性...
标题中的“基于java语言的论坛系统”指的是使用Java编程语言来构建一个在线讨论平台。这个论坛系统旨在提供信息交流的功能,允许用户通过浏览器访问并参与讨论。描述中提到的开题报告是2011届本科毕业设计的一部分,...
实习生在实习期间接触了数据库操作,包括使用Delete语句进行图书清空,这是一个基础的SQL操作。图书初始化涉及到了数据表之间的交互,特别是书目表和图书信息表,这需要掌握数据库关系和JOIN操作。实习生面临的挑战...
在面试开始时,自我介绍不仅是一个展示个人基本信息的机会,更是体现求职者沟通能力和专业形象的关键时刻。求职者应突出自己的技能、经验和成就,尤其是在Java或相关领域的特长,如熟悉Java的核心概念、框架(如...
【计算机实习日记篇一】 这篇日记记录了实习生在图书管理系统开发中的经历。实习生在第五天接触到图书清空和初始化的功能,这两个功能对于管理员权限的用户至关重要。图书清空的实现相对简单,通过数据库的 Delete ...
这份程序员面试个人简历展示了应聘者在Java开发领域的专业知识和实践经验。简历中提到的技能和经验主要集中在以下几个方面: ...在Web开发方面,熟悉Jsp、...对于寻求Java开发人才的企业来说,这是一个值得考虑的候选人。
4. **问题解决**:程序员遇到技术难题时,通过自学、请教同事和网络资源解决,展示了独立解决问题和持续学习的精神。 5. **技术挑战**:报告中提到了处理复杂项目(如在线咨询系统)的经验,揭示了在缺乏参考资料的...
总结来说,这篇论文涵盖了Java编程、企业级应用开发、问题解决与团队协作等多个层面,充分展示了Java在企业网站管理系统开发中的应用,以及作者在这一过程中获得的成长和经验。作者对帮助过他的人表示感谢,这不仅是...
即使遇到问题也不要轻易放弃,而是要通过查阅资料、向他人请教等方式解决问题。同时,要注意总结经验教训,不断改进自己的学习方法。 ##### 5. 持续学习 技术更新换代非常快,因此持续学习非常重要。可以通过阅读...
1. 实习经历:这是一位大学生在联通系统集成有限公司山东省分公司进行计算机实习的经历,涵盖了从入职介绍到日常工作的多个阶段。 2. 公司运营模式:实习生了解到公司的基本运营模式和员工的工作方式,熟悉了企业...