1.前言.
当你用hibernate查出数据,但是类型不是原来的类型怎么办,新增的实体类还用不用,答案是可以用的.用query.setResultTransformer(Transformers.aliasToBean(AA.class));这种形式可以解决查出来的数据不能使用的问题.
2.代码
(1)查询dao
String sql = "select USER_ID,USERNAME from test where USER_ID= :id";
Query query = getCurrentSession().createSQLQuery(sql);//.addScalar("MODULE_ID", LongType.INSTANCE);
query.setBigDecimal("id", new BigDecimal("1"));
query.setResultTransformer(Transformers.aliasToBean(UserEntity.class));
List<UserEntity> list=null;
list=query.list();
return list;
(2)实体类
package com.test.ljn.sample.domain;
import java.math.BigDecimal;
import java.math.BigInteger;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import com.test.ljn.base.domain.IBean;
import javax.persistence.Table;
import org.hibernate.annotations.PolymorphismType;
import org.hibernate.annotations.Polymorphism;
@Entity
@Table(name = "test_USER")
@Polymorphism(type = PolymorphismType.EXPLICIT)
public class UserEntity implements IBean<Long> {
/**
*
*/
private static final long serialVersionUID = 1L;
/** 模块ID */
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "USER_ID", unique = true, nullable = false)
private BigInteger USER_ID;
/** 父模块ID */
@Column(name = "USERNAME")
private String USERNAME;
public BigInteger getUSER_ID() {
return USER_ID;
}
public void setUSER_ID(BigInteger uSER_ID) {
USER_ID = uSER_ID;
}
public String getUSERNAME() {
return USERNAME;
}
public void setUSERNAME(String uSERNAME) {
USERNAME = uSERNAME;
}
}
3.需要注意的.
(1)这种转换实体类很严格,必须连属性名字要和数据库字段高度一致(注解此时没很大作用用.
(2)实体类可以比表字段少一些字段.
分享到:
相关推荐
结合使用Hibernate扩展和Middlegen,开发人员可以更高效地进行数据库驱动的Java应用程序开发。它们降低了代码维护的复杂性,提升了开发速度,使得开发者能够将更多的精力集中在业务需求和创新上,而非基础架构的构建...
4. **实体生命周期管理**:Hibernate提供了对实体生命周期的精细控制,包括瞬时、持久化、托管和脱管状态,以及相应的转换方法如`persist()`, `merge()`, `remove()`等。 5. **事务管理**:支持JTA(Java ...
架构师职能图----------------------------------
Hibernate 是一种开源的 ORM 解决方案,它允许开发者用面向对象的方式处理数据库交互。通过提供对象和数据库表之间的映射,Hibernate 消除了大量手动编写 SQL 和 JDBC 代码的需求,提高了开发效率和代码的可维护性...
Hibernate作为JPA的实现之一,这些jar包可能是JPA规范的核心库,如javax.persistence.*,使得开发者可以使用JPA规范编写代码,同时享受到Hibernate的强大功能。 4. **required**:这是Hibernate的必需依赖,可能...
《Hibernate Validator 深度解析与应用》 Hibernate Validator 是 Hibernate 社区提供的一款强大...无论是在传统的MVC架构还是现代的微服务架构中,Hibernate Validator都能发挥重要作用,成为开发者手中的得力助手。
--LW-??\`:这是项目根目录,包含了整个系统的文件。 2. `??java?-129-jspm??????--LW-??\jspmm1693\`:这应该是项目的主模块或主目录,可能是以项目编号1693命名的。 3. `??java?-129-jspm??????--LW-??\jspmm...
- `@Entity`: 这个注解是必不可少的,它告诉Hibernate一个Java类是一个实体,可以映射到数据库中的一个表。默认情况下,表名与实体类名相同,但可以通过`@Table`注解来指定不同的表名。 - `@Table`: 此注解用于...
### Hibernate Envers:简易实体审计指南 #### 一、引言 Hibernate Envers项目旨在为持久化类提供简便的审计功能。用户只需在希望审计的持久化类或其属性上标注`@Audited`注解即可。对于每个被审计的实体,会创建一...
Hibernate是一个开源的对象关系映射(ORM)框架,它允许Java开发者在Java应用程序中使用对象模型,而无需直接与SQL数据库交互。Hibernate通过提供一个中间层,简化了数据持久化的过程,提高了开发效率,并且减少了...
- **软件架构师**:考虑将 Hibernate 作为项目中数据访问层的技术选型,需要全面了解其特性和应用场景。 #### 七、总结 《Beginning Hibernate 第二版》是一本非常适合初学者入门和进阶使用的 Hibernate 教程书籍...
这是一个关于使用Spring MVC和Hibernate框架实现CRUD操作的源代码示例。CRUD代表创建(Create)、读取(Retrieve)、更新(Update)和删除(Delete),是数据库操作的基本功能。Spring MVC作为Spring框架的一部分,是用于...
Struts主要负责MVC(Model-View-Controller)架构的实现,而Hibernate则是一个强大的对象关系映射(ORM)工具,用于处理数据库操作。本教程"struts-hibernate-integration-tutorial.zip"应该是关于如何将这两个框架...
【标题】"springMVC-Hibernate-Oracle-master.zip"是一个包含使用Spring MVC、Hibernate和Oracle数据库进行Web应用程序开发的示例项目的压缩包。这个项目旨在为开发者提供一个基础的参考框架,帮助他们理解和实践这...
Linux运维-运维构架师-高级运维架构师-DAY0714期-系统自动化安装kickstart-07-ks文件语
Linux运维-运维构架师-高级运维架构师-DAY0714期-系统自动化安装kickstart-09-自动安装
- `148-??????--??\springbootquqp0\db\`:此目录可能包含数据库相关的配置或脚本,用于初始化和管理数据库。 - `148-??????--??\springbootquqp0\mvnw`:这是Spring Boot的Maven wrapper,它允许开发者在没有全局...
在非注解方式下,你需要配置Hibernate的`hibernate.cfg.xml`文件,设置数据库连接参数,并在实体类上使用JPA的`@Entity`注解。此外,还需要创建`SessionFactory`,它是Hibernate的主要工作单元,负责创建`Session`...