当我在scala项目中使用Berkeley DB JE时,我定义了一个具有List成员的实体。然而,当我运行该项目时,它会抛出一个异常,告诉我Class could not be loaded or is not persistent: scala.collection.immutable.List
。那么我该如何解决这个问题呢?或者只是将scalaList转换为java.util.List?
我自己找到了答案。BerkeleyDBJE不支持List of scala,它只支持java.util.List。因此,使用以下语句将scalaList更改为javaList是有效的。
import scala.collection.JavaConverters._
val sl = List(...)
val jl = new java.util.ArrayList(sl.asJava)
使用DPL将jl
传递给Berkeley DB JE解决了这个问题。谢谢