我在 Wildfly 10.1.0-Final 上使用带有 Java 8 和 Hibernate (5.0.X) 的 Java EE 7,我需要使用投影将 JPQL 查询结果加载到 DTO 中,但我找不到任何有关如何执行此操作的文档也加载子集合 DTO。
例如,如果我有以下用户、角色和权限实体:
@Entity
public class User
{
@Id
private long id;
private String userName;
private String firstName;
private String lastName;
private JobTitle jobTitle;
private Email email;
private boolean isRemote;
@ManyToMany
private Set<Tag> tags;
@ManyToMany
// @JoinColumn definitions...
private Set<Role> roles;
// getters/setters...
}
@Entity
public class Role
{
@Id
private long id;
private String name;
private String description;
@ManyToMany
// @JoinColumn definitions...
private …Run Code Online (Sandbox Code Playgroud) 在我的 Spring Boot/Kotlin 项目中,我试图让 JSON 转换器忽略其余控制器响应中的空值。
我尝试在 application.yml 中设置以下内容:
spring:
jackson:
default-property-inclusion: non_null
Run Code Online (Sandbox Code Playgroud)
我还尝试提供 of@Bean类型Jackson2ObjectMapperBuilder并@ObjectMapper配置为.serializationInclusion(JsonInclude.Include.NON_NULL),但它仍然序列化所有空属性。
使用 Spring Boot 2.3.0、Kotlin 1.3.72、AdoptOpenJDK 13