Tag: 弹簧数据

Mongo审计有选择地工作

我已经启用了mongo审计,@ @CreatedBy和@LastModifiedBy的注入是有选择地工作的。 对于某些文档,这两个都不起作用。 @Document class Category { @Id var id: String? = null @field:Indexed(unique = true) @field:NotEmpty var name: String? = null set(value) { field = value?.trim()?.toLowerCase() } @CreatedDate @JsonProperty(access = JsonProperty.Access.READ_ONLY) var createdDate: Date? = null @LastModifiedDate @JsonProperty(access = JsonProperty.Access.READ_ONLY) var lastModifiedDate: Date? = null @CreatedBy @JsonProperty(access = JsonProperty.Access.READ_ONLY) var createdBy: ObjectId? = null […]

为什么spring-data-elasticsearch不使用Spring上下文中的objectmapper

我正在开发一个使用spring-data-elasticsearch进行数据存储的应用程序。 我也使用kotlin编写这个应用程序。 这有一些特殊的怪癖,一个是杰克逊需要杰克逊模块kotlin(摆脱无参数构造的问题)。 我也使用jackson-datatype-jsr310模块。 Spring引导足够好,可以从类路径中选择这些模块并自动注册它们。 我还将write-dates-as-timestamps选项设置为false。 然而,spring-data-elasticsearch似乎对此并不在意。 我想这是因为DefaultEntityMapper消息一个对象映射器,并没有使用从春天上下文。 我想知道为什么? 我通过提供一些额外的配置来确定它,以确保spring-data-elasticsearch使用从spring上下文中获得的objectmapper: @Configuration open class ElasticsearchConfig(val elasticsearchEntityMapper: ElasticsearchEntityMapper) { @Bean open fun elasticsearchTemplate(client: Client) = ElasticsearchTemplate(client, DefaultResultMapper(elasticsearchEntityMapper)) } @Component class ElasticsearchEntityMapper(val objectMapper: ObjectMapper) : EntityMapper { override fun mapToString(`object`: Any?) = objectMapper.writeValueAsString(`object`) override fun <T : Any?> mapToObject(source: String?, clazz: Class<T>?) = objectMapper.readValue(source, clazz) } 有没有更好/更简单的方法来确保spring-data-elasticsearch使用上下文中的objectmapper?

Spring Data Neo4j 5的EntityScan在使用Kotlin时包含了伴随对象

我通过Spring Boot 2.0.0.M4使用Spring Data 5。 我注意到当使用@EntityScan并提供一个包时,它包括扫描由Kotlin生成的“内部”类。 在我的例子中,我只有一个属性,但我也尝试过companion object { <property here> } ,它仍然出错。 是否有过滤掉Kotlin生成的这些内部类? 这是我得到的异常: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'neo4jMappingContext': Invocation of init method failed; nested exception is java.lang.UnsupportedOperationException: This class is an internal synthetic class generated by the Kotlin compiler, such as an anonymous class for a lambda, a SAM wrapper, a […]

Kotlin中扩展对象的新实例

我是来自Groovy的Kotlin新手。 作为学习语言的一种方式,我试图重现Kotlin上的一些小的Groovy例子。 考虑以下几点: @Entity data class Person( @Id @GeneratedValue(strategy = GenerationType.IDENTITY) var id: Long = 0, var name: String = "", @OneToMany(mappedBy = "person") var contacts: MutableList<BaseContact>? = null ) : BaseEntity() @Entity @Inheritance open class BaseContact( @Id @GeneratedValue(strategy = GenerationType.IDENTITY) var id: Long = 0, @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "person_id", referencedColumnName = "id") […]