Skip to main content

2 posts tagged with "spring-data"

View All Tags

解决Spring Data LDAP中Projection查询@Attribute字段返回空值的问题

· 7 min read
orange
programmer on jvm platform

Spring Data LDAP是Spring Data项目的子项目,提供了面向LDAP存储库的Spring Data规范实现。
它让开发者可以像使用Spring Data JPA一样操作LDAP,支持Entity、Repository和Projection等功能。

问题出现在使用Projection投影查询实体的特定字段时:当实体字段使用@Attribute注解进行字段映射时,查询结果中相关字段值为空。

在kotlin项目中kotlin-jpa插件导致导致null检查失效

· One min read
orange
programmer on jvm platform

kotlin-jpa插件会为data class生成无参构造器,导致非空字段跳过了Null检查

@Entity
class ProjectInfo(
var name: String,
var code: String,
var ownerName: String,
var applicantName: String,
var companyCode: String,
var companyName: String,
var projectType: ProjectType,
var submitDate: LocalDateTime = LocalDateTime.now(),
var planStartDate: LocalDate?,
var planEndDate: LocalDate?,
var endDate: String,
var targetCustomers: Array<String>?,
var formStatus: ApplicationStatus = ApplicationStatus.DRAFT,
var projectStatus: ApplicationProjectStatus = ApplicationProjectStatus.DRAFT,
var comments: String?
) {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
val id: Long = -1
}