【发布时间】:2011-01-26 21:00:40
【问题描述】:
我开始使用后端使用 Hibernate (JPA) 的 Scala 应用程序。为了加载一个对象,我使用了这行代码:
val addr = s.load(classOf[Address], addr_id).asInstanceOf[Address];
不用说,这有点痛苦。我写了一个看起来像这样的辅助类:
import org.hibernate.Session
class DataLoader(s: Session) {
def loadAddress(id: Long): Address = {
return s.load(classOf[Address], id).asInstanceOf[Address];
}
...
}
所以,现在我可以这样做了:
val dl = new DataLoader(s)
val addr = dl loadAddress(addr_id)
问题来了: 如何编写一个通用的参数化方法,该方法可以使用相同的模式加载任何对象?即
val addr = dl load[Address](addr_id)
(或类似的东西。)
我是 Scala 新手,所以请原谅这里特别可怕的任何内容。
【问题讨论】:
标签: generics scala manifest scala-2.8 parameterization