Я запускаю приложение Scala, которое использует Hibernate (JPA) на заднем плане. Чтобы загрузить объект, я использую эту строку кода:
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)
Вот вопрос: Как мне написать универсальный параметризованный метод, который может загружать любой объект, используя этот же шаблон? * 1012 т.е. *
val addr = dl load[Address](addr_id)
(или что-то в этом роде.)
Я новичок в Scala, поэтому, пожалуйста, прости все, что особенно отвратительно.