因为我只问一个问题,让我们集中讨论映射,我认为这是最重要的问题。
所以我的问题是:
有没有什么方便的解决方案可以将QueryDSL的SQLQuery结果映射到域对象,类似于MyBatis或JPA提供的方法?也就是说,基于一些简单配置的映射,无论是XML、注释还是简单Java?
我特别感兴趣的是:
总而言之,我需要一种简单的方法,从以下SQL查询中获取以下'Customer'类的一个或多个对象:
class Customer {
EmailAddress emailAddress;
FullName fullName;
Set<Address> addresses;
Set<Comment> selfDescription;
}
class EmailAddress {
private String address;
EmailAddress(String address) {this.address = address; }
}
class FullName {
String firstName, lastName;
}
class Address {
String street, town, country;
}
class Comment {
LocalDateTime timeStamp;
String content;
}
查询:
query.from(qCustomer).
leftJoin(qCustomer._addressCustomerRef, qAddress)).
leftJoin(qCustomer._commentCustomerRed).
getResults(
qCustomer.email_address, qCustomer.first_name, qCustomer.last_name,
qAddress.street, qAddress.town, qAddress.country,
qComment.creation_time_stamp, qComment.content);
Lukas Eder在这里给出了一个类似问题的极好答案:是否可能将MyBatis和QueryDSL/Jooq结合在一起?
他对映射问题的回答是使用Java8函数样式功能或专用解决方案(如ModelMapper)。
他还提到Spring JCache支持作为一种缓存解决方案,并将此解决方案应用于日志记录。
我有一个用户类,有16个属性,比如名字,姓氏,出生日期,用户名,密码等...这些都存储在MySQL数据库中,当我想要检索用户时,我使用ResultSet。我想将每一列映射回用户属性,但我这样做的效率似乎非常低。例如,我正在做: 也就是说,我检索所有的列,然后通过将所有的列值插入用户构造函数来创建用户对象。 有人知道更快、更整洁的方法吗?
问题内容: 我有一个带有本地查询的Spring Data Repository方法 并且我想将结果映射到Non-Entity POJO 。 是否可以,如果可以,请提供示例吗? 问题答案: 假设在Orid的答案中使用GroupDetails,您是否尝试过JPA 2.1 @ConstructorResult? 并在存储库界面中使用以下命令: 根据springJPA的数据文件,spring将首先尝试找到
并且我希望将结果映射到非实体POJO。 是否可能?如果可能,请提供一个例子?
我使用Spring JDBC框架(如这里所示)从数据库中获取两列。我使用了“映射器”来实现“RowMapper”类,并执行如下查询: 这是我的映射器类: 而不是将查询结果存储到<code>中 如何在spring中将我的查询行存储到一个映射中,并将< code>ID设置为key,值为< code>account。
如何在Spring Data Jpa中将映射映射到存储库中的查询? 下面是我的通用存储库源代码。 如下所示,我希望接收queryParams作为参数,并将queryParams对应的键和值映射到where子句。 因为它是一个GenericRepository,所以无法实现,我想把映射的内容放在@Query中。 我一直在搜索,但我找不到任何关于它的信息,所以我不知道如何解决这个问题。 如果有办法,请
问题内容: 是否可以将本机SQL查询的结果映射到Grails域类实例的集合? 问题答案: