原本以为HQL(Hibernate Query Language) 只是一种查询语言,只能进行DDL操作,可是当我利用Hibernate的API进行update的时候,如果进行配置,默认就会更新整行!太不人道了!
配置方法 :
在Annotation中 在属性GET方法上加上@Column(updatable=false) view plaincopy to clipboardprint? @Column(updatable=false) public int getAge() { return age; } @Column(updatable=false) public int getAge() { return age; }
第2种方法··使用XML中的 dynamic-update="true" view plaincopy to clipboardprint? <class name="com.sccin.entity.Student" table="student" dynamic-update="true"> <class name="com.sccin.entity.Student" table="student" dynamic-update="true">
第三种就是HQL方法了! Session session = sessionFactory.openSession(); Transaction tx = session.beginTransaction(); String hqlUpdate = "update Customer c set c.name = :newName where c.name = :oldName"; // or String hqlUpdate = "update Customer set name = :newName where name = :oldName"; int updatedEntities = s.createQuery( hqlUpdate ) .setString( "newName", newName ) .setString( "oldName", oldName ) .executeUpdate(); tx.commit(); session.close();
// insert只支持注意 ,只支持 INSERT INTO ... SELECT ... 形式,不支持 INSERT INTO ... VALUES ... 形式。
Session session = sessionFactory.openSession(); Transaction tx = session.beginTransaction(); String hqlInsert = "insert into DelinquentAccount (id, name) select c.id, c.name from Customer c where ..."; int createdEntities = s.createQuery( hqlInsert ) .executeUpdate(); tx.commit(); session.close(); INSERT 语句的伪码是:INSERT INTO EntityName properties_list select_statement。 properties_list 和 SQL INSERT 语句中的字段定义(column speficiation)类似 不过它只能显示当前类有关的属性,不支持多态!
相关推荐
在Hive中,DML主要包括INSERT、UPDATE、DELETE以及SELECT等操作,但需要注意的是,由于Hive的设计目标和架构,UPDATE和DELETE操作与传统SQL有所差异。 1. **INSERT**:这是最基础的数据插入操作。Hive 支持 INSERT ...
HQL(Hive Query Language)是Hive的SQL方言,支持基本的DML(数据操作语言)操作,如SELECT、INSERT、UPDATE和DELETE,以及DDL(数据定义语言)操作,如CREATE TABLE、ALTER TABLE和DROP TABLE。HQL还支持JOIN、...
这包括但不限于数据类型的映射、特殊函数的支持、事务隔离级别的设置以及DML语句(如INSERT、UPDATE、DELETE)的生成。 使用瀚高数据库Hibernate方言,开发者可以轻松地将现有的Hibernate项目迁移到瀚高数据库,...
2. **HQL语言**:HQL是Hive提供的SQL方言,支持DML(Data Manipulation Language)操作,如SELECT、INSERT、UPDATE和DELETE,以及DDL(Data Definition Language)操作,如CREATE TABLE、ALTER TABLE和DROP TABLE。...
7. **基本语法和操作语句**:包括DML(Data Manipulation Language)和DDL(Data Definition Language),如INSERT、UPDATE、DELETE、ALTER等。 8. **数据操作**:包括加载数据、删除数据、重命名表、导出数据等。 9...
- Hive也不支持`DELETE`语句,但可以使用`ALTER TABLE DROP PARTITION`来删除特定的分区数据。 #### 四、日常运维 - **表维护**:包括添加、删除分区等操作。 - **性能调优**:通过对Hive配置参数的调整,优化查询...
经典SQL语句大全通常包括DML(Data Manipulation Language)如SELECT、INSERT、UPDATE、DELETE,DDL(Data Definition Language)如CREATE、ALTER、DROP,以及事务控制、视图、索引等相关操作。掌握这些经典SQL语句...
理解DML(INSERT、UPDATE、DELETE)、DDL(CREATE、ALTER、DROP)以及查询语言(SELECT)是基础,而使用PreparedStatement可以防止SQL注入攻击。 4. **批处理** 对于大量数据操作,JDBC批处理可以显著提升性能。...
2. **HQL语法**:详细解析HQL,包括DML(数据操纵语言)如INSERT, UPDATE, DELETE操作,DDL(数据定义语言)如CREATE TABLE, DROP TABLE等,以及数据查询和聚合函数的使用。 3. **数据加载与导出**:讲解如何将数据...
前者用于返回结果集的查询,后者用于不返回结果的DML操作(如INSERT, UPDATE, DELETE): ```java pstmt.executeUpdate(); ``` 4. **关闭资源**: 最后,记得关闭PreparedStatement、ResultSet(如果有的话)和...
- **常用语句**:包括SELECT、INSERT、UPDATE、DELETE等SQL-like语句。 #### 十一、Hive操作语句 - **DDL语句**:包括CREATE TABLE、ALTER TABLE、DROP TABLE等。 - **DML语句**:包括INSERT INTO、LOAD DATA等。 ...
- 自定义SQL:通过SQLInsert、SQLUpdate、SQLDelete等接口自定义DML操作。 九、最佳实践 1. 避免过多的HQL查询,尽可能使用 Criteria API 或 JPA 的 Criteria API。 2. 合理设计实体关系,避免循环引用导致的内存...
- **Delete**:属于DML(Data Manipulation Language)操作,逐行删除表中的记录。与Truncate不同,Delete操作会保留事务日志,以便在出现错误时回滚,因此执行速度相对较慢。 #### SQL算法题解析 1. **重复数据...
4. **HQL语言**:详尽解析HQL(Hive Query Language),包括DML(数据操作语言)、DDL(数据定义语言)和DCL(数据控制语言)的操作,如SELECT、INSERT、UPDATE、DELETE、CREATE TABLE、ALTER TABLE等语句的使用。...
此外,还会讲解如何执行DML(Data Manipulation Language)语句,如INSERT、UPDATE和DELETE,用于数据的增删改查。 XML(可扩展标记语言)和Ajax(异步JavaScript和XML)在现代Web应用中起着关键作用。XML常用于...
第3章 SQL语句基础之DML 3.1 SELECT语句基础 3.2 WHERE子句 3.3 ORDER BY子句 3.4 GROUP BY和HAVING子句 3.5 INSERT语句 3.6 UPDATE语句 3.7 DELETE语句 3.8 本章小结 第4章 PL/SQL 4.1 PL/SQL...
3. **DML语句**: 插入(INSERT)、更新(UPDATE)、删除(DELETE)和查询(SELECT)是MySQL的基本操作。 4. **索引**: 为了提高查询性能,可以为表的特定列创建索引。 5. **事务**: MySQL支持ACID(原子性、一致性...
- **4.4.1 HQL for UPDATE 和 DELETE** - 介绍如何使用 HQL 进行更新和删除操作。 - **4.4.2 HQL 语法用于 INSERT** - 描述如何使用 HQL 进行插入操作。 - **4.4.3 更多关于 HQL 的信息** - 提供更多关于 HQL 的...
18. **SQL/DML生成**:Hibernate能自动生成INSERT、UPDATE、DELETE等SQL语句,简化数据库操作。 19. **查询优化**:包括查询计划、索引使用、避免N+1查询问题等。 20. **JPA集成**:Hibernate也可以作为Java ...