`

hibernate 本地查询 字段别名 映射到 DTO时注意事项

 
阅读更多

本地原生SQL:

SELECT  pole.pId as poleId FROM lamppole pole LEFT JOIN grouppole gp ON pole.pId = gp.pId

 

Query:

Query q = getSession().createSQLQuery(sql2.toString()).addScalar("poleId")
		.setResultTransformer(Transformers.aliasToBean(TestDto.class));

 

如果SQL有别名,那么,query就一定要加

addScalar("别名")

 

不然抛此异常:

could not read column value from result set column 'pId' not found

 

 

分享到:
评论

相关推荐

    jpa复杂查询,映射DTO,自动映射无需关注类型,不用建构造函数

    jpa复杂查询,映射到具体的DTO上就比较复杂,需要类型完全匹配,还要求要建造构造函数,而且只能使用jpql查询,非常麻烦,querydsl也不方便,代码太长,后期维护的时候看上去也不直观。复杂sql还是采用原生sql比较...

    使用Java 8 Lambda表达式将实体映射到DTO的操作

    在使用Lambda表达式将实体映射到DTO时,我们还需要注意一些其他相关的知识点。 使用Stream API 在Java 8中,Stream API是处理数据流的强大工具。我们可以使用Stream API来处理大量数据,并将其转换为不同的格式。...

    Any2Dto插件,可以根据数据库和JavaCode生成强类型且精确字段的DTO

    在IT行业中,开发人员经常需要处理数据传输对象(DTO)的创建,这通常是将数据库模型转化为业务层或视图层所需的格式。手动编写这些DTO类可能会导致大量的重复代码,增加维护成本,同时也容易引入错误。为了解决这个...

    Springboot DTO字符字段与日期字段的转换问题.docx

    在Spring Boot应用中,数据传输对象(DTO,Data Transfer Object)常常用于前后端的数据交换。当前端发送JSON请求到后端时,日期通常被表示为字符串。然而,后端的实体类中,日期字段通常是`java.util.Date`类型。在...

    eclipse插件,根据数据库表自动生成DTO(pojo)插件

    在生成的DTO和POJO类中,注解可以用来标记字段,以便于框架如Hibernate或MyBatis进行ORM(对象关系映射)操作。 `JavaBeanTool_2.0`可能是插件的一个版本号,暗示这个工具已经经过了多次迭代和优化。JavaBean是一种...

    数据库表转实体类和DTO

    5. **注意事项**: - 自动化生成的代码可能需要根据实际需求进行调整,例如添加注解(如JPA的@Entity、@Table等)、自定义序列化/反序列化逻辑、校验规则等。 - 转换过程中应考虑到数据库的复杂性,如外键、触发器...

    java-dto-mapping:Java的通用DTO映射

    您需要以某种方式将所有属性从基本实体映射到DTO实体,反之亦然,如果您无需手动映射属性即可自动执行此操作,那将是很好的选择。 这是我们可以使用ModelMapping实现的方法... 项目结构。 用户模型 在这里,我们有...

    mapper:轻量级的映射器,无需使用任何构造函数或设置器即可将模型映射到DTO,轻松地将其映射到带有注释的新模式

    映射器 轻量级的映射器,无需使用任何构造函数或设置器即可将模型映射到DTO,轻松地将其映射到带有注释的新模式例子public class TestModel{ private String field1 = "10"; private String field2 = "20"; private ...

    将结果集中的数据拷贝到DTO对象中去

    让繁琐的的数据集不需要开发者自己动手就可以封装的对应的bean中去

    dto-mapper:仅需使用库即可通过打字稿装饰器映射DTO

    - **映射**:将DTO类的属性值复制到实体类,或者反之,根据需要进行转换和验证。 ### 2. 使用`dto-mapper`库 要使用`dto-mapper`,首先需要安装库: ```bash npm install dto-mapper ``` 然后在项目中导入并创建...

    导入Excel快速生成DTO

    这不仅减少了手动编写代码的工作量,还减少了出错的可能性,因为人工编写时可能会遗漏某些字段或输入错误。 在实际应用中,这个工具可能包含以下功能: 1. Excel文件读取:解析Excel文件的行和列,识别数据类型和...

    DTO代码自动生成器

    MyBatis是一个流行的持久层框架,Mapper.xml文件通常用于定义SQL查询和结果映射。因此,如果需要使用MyBatis,用户可能需要手动创建这些文件,或者寻找支持自动生成Mapper.xml的其他工具。 标签"生成器"进一步确认...

    快速生成DTO

    通过以上知识点,我们可以理解如何利用Excel模板和Java工具快速生成DTO,以及这在实际开发中的价值和注意事项。这种技术简化了编码工作,提高了开发效率,使得开发者能更专注于业务逻辑和系统架构的设计。

    DTO设计模式.docx

    DTO转换的过程是将Product对象中的必要属性映射到Book对象中。在这个例子中,我们定义了一个`transferProduct`方法,它接受一个Product对象作为输入,然后创建一个新的Book对象,并将Product对象的某些属性(如...

    springboot DTO字符字段与日期字段的转换问题

    Spring Boot DTO 字符字段与日期字段的转换问题 在 Spring Boot 应用程序中,DTO(Data Transfer Object)字符字段与日期字段的转换问题是一个常见的问题。默认情况下,Spring Boot 不会自动转换字符字段与日期字段...

    EF+Mapper结合使用实现Dto到实体类再到数据的(框架模型基础实现)

    同样,当我们需要保存DTO到数据库时,可以先将DTO转换为实体,然后通过EF进行保存: ```csharp public void CreateUser(UserDto userDto) { var user = _mapper.Map(userDto); _dbContext.Users.Add(user); _...

    Dto转实体类 AutoMapper

    2. **定义映射配置**:在应用程序启动时,你需要定义Dto和实体类之间的映射关系。这通常在全局配置或启动类中完成。例如: ```csharp Mapper.Initialize(config => { config.CreateMap, EntityClass>(); config...

    DTOGenerator:从类生成 DTO 的 IntelliJIDEA 插件

    目前,该插件将读取您现有类的所有字段,并将它们复制到一个目标类,该类的名称与您当前类的名称相同,前缀为DTO 。 它将为您的所有字段生成 getter 和 setter。 注意:如果一个属性扩展了 Collection 类,它将为您...

    java_dao_dto生成器

    3. **数据库交互**:生成器连接到配置的数据库,读取表结构信息,包括表名、字段名、数据类型等。 4. **生成代码**:根据数据库表的信息,生成对应的DAO接口和实现类。DAO接口会包含各种操作数据库的方法,如增删改...

    mybatis-generator 生成Dto,Dao,Mapping

    MyBatis Generator(MBG)是一款强大的自动化代码生成工具,主要针对MyBatis框架,能够自动生成DTO(Data Transfer Object)、DAO(Data Access Object)以及Mapper接口和XML映射文件,极大地提高了开发效率。...

Global site tag (gtag.js) - Google Analytics