java - Hibernate:通过 HQL 填充未映射的组件

标签 java hibernate hql

A类和B类是映射到它们自己的数据库表的实体。类 C 未映射,并且包含 A 和 B 的所有属性。是否可以构建 HQL 来填充 C?

最佳答案

是的,可以。您可以使用 hibernate ResultTransformer为此:

List resultWithAliasedBean = s.createQuery(
  "select e.student.name as studentName," +
  "       e.course.description as courseDescription" +
  "from   Enrolment as e")
  .setResultTransformer( Transformers.aliasToBean(StudentDTO.class))
  .list();

StudentDTO dto = (StudentDTO) resultWithAliasedBean.get(0);

关于java - Hibernate:通过 HQL 填充未映射的组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24508575/

相关文章:

java - 计算字符串中字符的频率(Java,性能)

java - 将 Java 1.8 包含在类路径中而不指定构建

java - Camel RX 不会删除从 S3 消耗的对象

java - IntelliJ 可以为 Java 类生成可链接的 setter /修改器吗?

postgresql - 减少对包含实体的 JPQL POJO 的查询次数

java - 带有 @EmbeddedId 的 StackOverflowError

mysql - 如果池中的连接在Spring中空闲超过一段时间,MySql是否有任何超时功能?

java - 尝试让 JPA/Hibernate 与 REST 配合使用 - TransactionRequiredException : No Transaction is in progress error

java - 错误 java.lang.NumberFormatException : For input string:

mysql - HQL查询不同列