今天调试了一个数据插入,结果控制台出现了两次插入的HQL语句,但是数据库中没有插入数据
经过检查之后发现
我犯了如下错误
1、使用了数据库的关键字作为键名
2、在pojo类中使用了int,long等不可为空的数据类型,应该为Integer,Long
3、主键使用了自动增长,而pojo类中使用了int类型,在插入数据的时候,先行创建
类的对象,而对象的主键因为是数据库的自增长类型,所以需要主键的值在插入之前为null
,但是int类型自声明起就是默认值0,所以当插入的时候,数据库无法保存。
所以,主键为自动增长的时候,一定要使用Integer等可以为空的类型。
相关推荐
它简化了数据库操作,将数据对象与数据库表之间的交互抽象化,使得开发者可以使用面向对象的方式来处理数据库事务,而无需直接编写SQL语句。Hibernate支持JDBC驱动,可以连接各种关系型数据库,包括MySQL。 【MySQL...
在Java开发中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者通过面向对象的方式来操作数据库,而无需直接编写SQL语句。在这个场景中,我们将探讨如何使用Hibernate与SQL Server 2005数据库进行...
Hibernate 是一个开源的对象关系映射(ORM)框架,它允许开发者使用 Java 对象来操作数据库,而无需直接编写 SQL 查询语句。这个资料包含了配置 Hibernate 和进行基本操作所需的元素。 在 `hibernate.cfg.xml` 文件...
ORM是一种技术,它可以将数据库中的表格数据映射到Java对象上,这样开发者就可以通过操作对象来间接地操作数据库,而无需直接编写SQL语句。Hibernate作为ORM的代表,提供了丰富的API和功能,使得数据访问层的实现...
4. Hibernate的其他配置:Hibernate配置文件还包含了一些其他关键的配置项,例如"hibernate.show_sql"用于在控制台输出执行的SQL语句,这对于调试和开发非常有用。"hibernate.hbm2ddl.auto"配置项用于根据映射文件来...
例如,查询所有用户的信息可以通过以下HQL语句实现: ```java from com.sun.demo.Userinfo ``` - **Criteria API**:提供了一种更灵活的查询方式,允许构建复杂的查询条件。例如,查询所有职位为“manager”的...
在查询方面,Hibernate支持HQL(Hibernate Query Language)和 Criteria API,它们提供了面向对象的方式来查询数据,而不是传统的SQL语句。HQL类似于SQL,但操作的是对象,而Criteria API则提供了一种更动态的方式...
要在控制台显示Hibernate生成的SQL语句,需要在Hibernate配置中设置`hibernate.show_sql`属性为`true`。然而,这会降低程序的运行效率,因此通常只在调试时开启。 4. Hibernate有几种查询方式? Hibernate提供了...
3. Native SQL:直接使用SQL语句,适用于复杂的数据库操作。 **5. 示例项目结构** 项目中的`hibernate Demo`可能包含以下几个部分: - `src/main/java`:存放Java源代码,包括实体类、DAO(Data Access Object)层...
`hibernate.show_sql` 设置为 true 可以在控制台打印执行的 SQL 语句,便于调试。 5. **实体类(VO)**: VO(Value Object)通常代表数据库中的一个表,需要创建对应的 Java 类,并通过注解或 hbm.xml 文件进行...
#### 三、使用Hibernate3操作数据库 - **3.1 Hibernate3的操作数据库** - **3.1.1 查询全部(不推荐)** - 虽然可以使用Hibernate查询所有记录,但这种方式可能导致性能问题,特别是在大型数据集上。 - **3.1.2 ...
开启`show_sql`可以在控制台打印出执行的SQL语句,方便调试。另外,可以使用二级缓存提高数据读取速度,通过调整缓存策略和配置合适的缓存提供商。合理使用批处理和缓存,以及避免过多的数据库交互,都能有效提升...
在Hibernate中,配置log4j可以让我们更好地监控数据库操作,比如SQL语句的执行情况,这对于优化查询性能至关重要。 3. antlr-2.7.6.jar: ANTLR(ANother Tool for Language Recognition)是一个强大的解析器生成...
SpringMVC和Hibernate是Java开发中常用的两个框架,SpringMVC负责处理Web应用中的Controller层,而Hibernate则是ORM(对象关系映射)框架,用于管理数据库操作。将这两个框架整合在一起,可以构建出高效且易于维护的...
`show_sql`属性设置为`true`,意味着Hibernate会在控制台打印出执行的SQL语句,这对于调试非常有帮助。 接下来是数据库、表的创建,以及实体类的建立。实体类是Java对象,它们代表数据库中的表。例如,`Student`类...
此设置开启后,Hibernate会在控制台上打印出执行的SQL语句,对于调试非常有用。 #### 二、对象关系映射(ORM) ORM是Hibernate的核心功能之一,它将对象模型与数据库表结构进行映射。这使得开发者可以使用面向对象...
1. **Hibernate ORM框架**: Hibernate的核心功能是将Java对象与数据库中的表进行映射,使得开发者可以使用面向对象的方式来操作数据库,而不是传统的SQL语句。这极大地提高了开发效率和代码的可维护性。 2. **...
在Hibernate中,它主要用于解析HQL和SQL语句。 5. **dom4j-1.6.1.jar**:这是一个灵活的XML处理库,用于读写XML文档,以及处理XPath和XSLT。Hibernate使用它来操作XML配置文件,如Hibernate的映射文件。 6. **slf4...
Hibernate是一个强大的Java对象关系映射(ORM)框架,它提供了一种将Java对象和数据库表之间的映射方式,使得开发者可以使用面向对象的方式来操作数据库,而无需编写大量的SQL语句。在Hibernate中,我们通过配置XML...
这样,Hibernate执行的所有SQL语句都会在控制台上显示出来,便于调试和分析。但需要注意的是,这种做法会增加系统的运行负担,不利于性能优化,因此在生产环境中应谨慎使用。 ### Hibernate的缓存策略 Hibernate...