我开始使用在后端使用 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)
问题是:如何编写一个通用的参数化方法,它可以使用相同的模式加载任何对象?IE
val addr = dl load[Address](addr_id)
(或类似的规定。)
我是 Scala 的新手,所以请原谅这里特别可怕的任何事情。