J'ai une méthode Java que je veux appeler dans ma servlet Jython s'exécutant sur tomcat5. Il ressemble à ceci:Jython java call lève l'exception demandant 2 args quand un seul argument est codé
@SuppressWarnings("unchecked")
public School loadByName(String name) {
List<School> school;
school = getHibernateTemplate().find("from " + getPersistentClass().getName() + " where name = ?", name);
return uniqueResult(school);
}
Je l'appelle à l'aide Jython:
foobar = SchoolDAOHibernate.loadByName('University')
Il renvoie une erreur qui dit loadByName() attend 2 args; eu 1. Quel autre argument pourrait-il rechercher?
Si je tente de créer une instance d'abord comme:
foo = com.dc.sports.dao.hibernate.SchoolDaoHibernate()
foo.loadByName('University')
Le premier appel lève une exception en disant:
Aucun constructeur visible pour la classe (com.dc.sports.dao. hibernate.SchoolDaoHibernate)
Je suppose que c'est parce qu'il est un paquet privé:
package com.dc.sports.dao.hibernate;
...
@SuppressWarnings("unchecked")
class SchoolDaoHibernate extends AbstractDaoHibernate<School> implements SchoolDao {
Alors, comment puis-je obtenir la méthode?
J'ai ajouté un peu plus d'informations sur les raisons pour lesquelles j'ai essayé d'appeler la méthode de manière statique. – Clutch