我想在我的neo4j属性中设置(updatable = false)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我想在我的neo4j属性中设置(updatable = false)相关的知识,希望对你有一定的参考价值。
我正在使用spring-data-neo4j,我终于在我的项目中进行了审计。
这是我的审计配置
@Configuration
@EnableNeo4jAuditing
class AuditingConfig {
@Bean
fun auditorProvider(): AuditorAware<Long> = SpringSecurityAuditAwareImpl()
}
class SpringSecurityAuditAwareImpl : AuditorAware<Long> {
override fun getCurrentAuditor(): Optional<Long> {
val authentication: Authentication? = SecurityContextHolder.getContext().authentication
if(authentication?.isAuthenticated != true ||
authentication is AnonymousAuthenticationToken)
return Optional.empty()
val userPrincipal = authentication.principal as UserPrincipal
return Optional.ofNullable(userPrincipal.id)
}
}
这是我的审计课
@JsonIgnoreProperties(
value = ["createdAt", "updatedAt"],
allowGetters = true
)
abstract class DateAudit : Serializable {
@CreatedDate
val createdAt: LocalDateTime? = null
@LastModifiedDate
val updatedAt: LocalDateTime? = null
}
当实体制造第一时,它完美地工作。但是当更新实体时,“createdAt”属性为null。
我知道@CreatedDate只是在创建实体时工作。创建后,它设置为null。在JPA中,@ Column(updatable = false)可以避免此问题。
所以,我想知道spring-data-neo4j有@Column(updatable = false)之类的注释,或解决方案避免这个问题。
答案
您应该初始化“createdAt”属性
以上是关于我想在我的neo4j属性中设置(updatable = false)的主要内容,如果未能解决你的问题,请参考以下文章