package-info.java +休眠注释@TypeDefs + Maven

Cha*_*nna 2 java orm hibernate maven package-info

如何在单独的package-info.java类上声明@TypeDefs并将其与@Type一起用于包级别。目前,我已经按照以下方式声明了它。但是,当我使用Maven编译应用程序时,它将出现以下错误。谢谢。

package-info.java类

@TypeDefs
        ({
                @TypeDef(
                        name="encryptedString",
                        typeClass=EncryptedStringType.class,
                        parameters={
                                @Parameter(name="encryptorRegisteredName",
                                        value="rcmHibernateStringEncryptor")
                        }
                )
        })

package com.core.model;
import org.hibernate.annotations.TypeDef;
import org.hibernate.annotations.TypeDefs;
import org.hibernate.annotations.Parameter;
import org.jasypt.hibernate4.type.EncryptedStringType;
Run Code Online (Sandbox Code Playgroud)

Maven错误

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project MyApp: Compilation failure
[ERROR] com\core\model\package-infor.java:[2,0] error: package annotations should be in file package-info.java
Run Code Online (Sandbox Code Playgroud)

Vla*_*cea 5

您需要重命名package-infor.javapackage-info.java

其中应包含以下内容:

@TypeDefs({
    @TypeDef(
        name="encryptedString",
        typeClass=EncryptedStringType.class,
        parameters={
            @Parameter(name="encryptorRegisteredName",
                value="rcmHibernateStringEncryptor")
        }
    )
})    
package com.core.model;
import org.hibernate.annotations.TypeDef;
import org.hibernate.annotations.TypeDefs;
import org.hibernate.annotations.Parameter;
import org.jasypt.hibernate4.type.EncryptedStringType;
Run Code Online (Sandbox Code Playgroud)