为了让您的眼睛和思想远离大量的源代码,我单独用文字表达我的用例。
我正在使用Slick的直接嵌入从数据库中提取。这本身很有效。
当我尝试从Play 2.0源代码中调用相同的方法时,比如应用程序控制器,我在浏览器中刷新时会出现ClassNotFoundException。
有问题的类是直接嵌入式表架构。同样,当Play不在图片中时,一切都会有效。
我已经读过直接嵌入仍然是一个非常实验性的特性(虽然看一下稳定的方法,人们不得不想知道为什么它们不仅仅是从一开始就直接废弃了嵌入式嵌入)所以我认为这可能就是为什么它不是工作。
没有意义的是我从Play调用的代码不直接指向数据库源,它首先通过另一个类。具有数据库源的项目是Play项目的子项目。因此,由于没有直接链接,并且类确实编译,它应该可以工作。
有没有人经历过这个以确认它不起作用?
我目前正在将代码切换到提升嵌入,看看是否有效。
答案 0 :(得分:0)
我将代码切换到了提升嵌入方法,并且在Play中运行良好。
注意:
我正在放弃Slick,支持Squeryl进行这个项目(也可能是未来的任何项目),因为我发现提升的方法非常反干并且在视觉上没有吸引力。
没有理由在像Scala这样强大的语言中提升嵌入应该像在Slick中那样实现。除此之外,还有虚假的导入错误,可能是因为Slick包中的多个文件被命名为相同,并且在使用Slick进行生产时会产生一种恐惧感。
国际海事组织当前解除的方法应该完全抛弃,嵌入式方法成为未来努力的唯一主题。