![](/img/trans.png)
[英]How to configure package level @TypeDefs with Spring Hibernate
[英]Kotlin package level TypeDefs for Hibernate
我有一个 hibernate ( TipoSiNo
) 的自定义类型,这相当于YesNoType
但西班牙语 (S/N)。
使用 java 时,我将这种类型声明为 package-info.java 文件中 boolean 字段的默认值:
@TypeDefs(@TypeDef(name = "si_no", typeClass = TipoSiNo.class, defaultForType = Boolean.class))
package com.xyz;
import org.hibernate.annotations.TypeDef;
import org.hibernate.annotations.TypeDefs;
import com...TipoSiNo;
这适用于 java 实体类,但是当我将它们转换为 kotlin 时出现错误:
Data conversion error converting "'S'...
所以我想我必须将 package-info 文件转换为 kotlin:
@file:TypeDefs(TypeDef(name = "si_no", typeClass = TipoSiNo::class, defaultForType = Boolean::class))
package com.xyz
import org.hibernate.annotations.TypeDef
import org.hibernate.annotations.TypeDefs
import com...TipoSiNo
但即便如此,它似乎也不起作用。
Kotlin 目前没有等效的package-info.java
info.java。 作为一种解决方法,您可以简单地在 Kotlin 中包含一个package-info.java
,它将被处理。
If you are using Spring Boot, you may run into this additional issue: How to configure package level @TypeDefs with Spring Hibernate :
似乎 spring 在 package-info.java class 时扫描 TypeDef 有一些问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.