我有一个Enum课程 RoleType
public enum RoleType {
SYSTEM_ADMIN, PROJECT_ADMIN, USER;
}
Run Code Online (Sandbox Code Playgroud)
在我的User实体类中,我为枚举集合提供了以下映射.这是Java代码:
@JsonProperty
@ElementCollection
@Enumerated(EnumType.STRING)
@CollectionTable(name = "user_role", joinColumns = @JoinColumn(name = "user_id"))
private Set<RoleType> roles;
Run Code Online (Sandbox Code Playgroud)
我将此User实体类转换Kotlin为以下代码:
@JsonProperty
@Enumerated(EnumType.STRING)
@ElementCollection
@CollectionTable(name = "user_role", joinColumns = arrayOf(JoinColumn(name = "user_id")))
var roles: kotlin.collections.Set<RoleType>? = null
Run Code Online (Sandbox Code Playgroud)
转换后,hibernate抛出以下异常:
Collection has neither generic type or OneToMany.targetEntity() defined: com.a.b.model.User.roles
Run Code Online (Sandbox Code Playgroud)
它在Java之前运行良好.
我也试过像这样添加targetClassin @ElementCollection:
@ElementCollection(targetClass = RoleType::class)
Run Code Online (Sandbox Code Playgroud)
但它也引发了另一个例外.
Fail to process type argument in a generic declaration. Member …Run Code Online (Sandbox Code Playgroud) 我正在使用hibernate-jpamodelgen来使用maven生成元模型类.
当我运行mvn clean包时,它运行正常没有任何问题.但是如果我第二次运行mvn包(没有干净),我会得到以下异常:
An exception has occurred in the compiler (1.8.0_51). Please file a bug at the Java Developer Connection (http://java.sun.com/webapps/bugreport) after checking the Bug Parade for duplicates. Include your program and the following diagnostic in your report. Thank you.
java.lang.IllegalStateException: endPosTable already set
at com.sun.tools.javac.util.DiagnosticSource.setEndPosTable(DiagnosticSource.java:136)
at com.sun.tools.javac.util.Log.setEndPosTable(Log.java:350)
at com.sun.tools.javac.main.JavaCompiler.parse(JavaCompiler.java:667)
at com.sun.tools.javac.main.JavaCompiler.parseFiles(JavaCompiler.java:950)
at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.<init>(JavacProcessingEnvironment.java:892)
at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.next(JavacProcessingEnvironment.java:921)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1187)
at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1170)
at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:856)
at com.sun.tools.javac.main.Main.compile(Main.java:523)
at com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:129)
at com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:138)
at org.codehaus.plexus.compiler.javac.JavaxToolsCompiler.compileInProcess(JavaxToolsCompiler.java:125)
at org.codehaus.plexus.compiler.javac.JavacCompiler.performCompile(JavacCompiler.java:169)
at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:825)
at org.apache.maven.plugin.compiler.CompilerMojo.execute(CompilerMojo.java:129) …Run Code Online (Sandbox Code Playgroud) 什么是事务缓存和非事务缓存?
它们之间有什么区别?
我试图在没有JMX的情况下在infinispan中以编程方式获取缓存统计信息.
我过去使用过Ehcache,它有一种很好的方式来以编程方式获取cache.getHitCount().
关于如何在infinispan中做同样的事情的任何想法?
注意:我使用的是Infinispan 6.0.2版本,默认情况下是Wildfly 8.2.0.Final.
java ×3
caching ×2
hibernate ×2
jpa ×2
enums ×1
infinispan ×1
jmx ×1
kotlin ×1
maven ×1
metamodel ×1
persistence ×1
statistics ×1
transactions ×1