java - 如何在 hibernate 中将列与类属性映射?

标签 java spring hibernate

我的问题陈述是:-我想在 hibernate 中调用存储过程,并且我想在对存储过程返回的列执行某些操作后将每列映射到类属性.. 由于任何 hibernate 查询都会返回对象列表而不是结果集..,那么我该如何在 hibernate 中执行此操作... 我知道在 Spring 我们可以使用 jdbcTemplate Map row 概念轻松地做到这一点,但我只想使用 Hibernate..

更多详细信息可以在我的上一个问题中找到:- Alternative to NamedParameterJDBC template row mapper in Hibernate

最佳答案

有时我们有一个类,我们想根据查询返回的数据填充数据。该类是一个简单的 POJO,而不是 Hibernate 实体,因此 Hibernate 不会识别该类。这可以在 Hibernate 中使用 Transformer 来完成。

(UserActivityStat)hibernateSession.createQuery("select count(*) as totalPhotos from Photo p where p.user = :user").setResultTransformer(Transformers.aliasToBean(UserActivityStat.class)).uniqueResult();

在上面的示例中,totalPhotos 是 UserActivityStat 类的属性,它不是 HibernateEntity。使用变压器你可以达到你的结果。

关于java - 如何在 hibernate 中将列与类属性映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19487022/

相关文章:

java - 检查 Java Socket 中的传入数据

java - 如何使用 JCodec 库从 Java 中的图像创建 mp4 视频?

model-view-controller - Controller (Spring Managed Bean)范围问题 : Singleton, 请求还是 session ?

java - Spring .jar 未启动

java - org.hibernate.MappingNotFoundException : resource: com/corp/dept/proj/FooTbl. hbm.xml 未找到

java - 从 BindException 获取使用的端口

java - 扩展类中的 Spring Boot @Service 注解

hibernate - JPA + Hibernate count(*) 使用 CriteriaBuilder - 带有 generatedAlias

java - JPA native 查询中可分页

java - Java类中的静态变量无法解析或不是字段