i Hibernate verwenden, um zu meinem db verbindet und i konfigurieren meine Datenbank in Seite meiner DBConnector Klasse:Hibernate NoSuchMethodError für AddPackage Methode
public static SessionFactory connectingHibernate(){
Properties database=new Properties();
database.setProperty("hibernate.connection.driver_class",PROPERTY_NAME_DATABASE_DRIVER);
database.setProperty("hibernate.connection.username",USERNAME);
database.setProperty("hibernate.connection.password",PASSWORD);
database.setProperty("hibernate.connection.url",url);
database.setProperty("hibernate.dialect",DIALECT);
Configuration cfg=new Configuration()
.setProperties(database)
.addPackage("androidapi.model")
.addAnnotatedClass(User.class)
.addAnnotatedClass(Product.class)
.addAnnotatedClass(PriceProduct.class)
.addAnnotatedClass(CoinPrice.class)
.addAnnotatedClass(SellPage.class)
.addAnnotatedClass(Setting.class)
.addAnnotatedClass(Message.class);
StandardServiceRegistryBuilder ssrb=new StandardServiceRegistryBuilder()
.applySettings(cfg.getProperties());
sessionFactory=cfg.buildSessionFactory(ssrb.build());
return sessionFactory;
}
, wenn ich aus dem Inneren meines ide meine Anwendung ausführen mein Code funktioniert einwandfrei, aber nachdem ich eine WAR-Datei mit Maven gemacht habe, habe ich diese Ausnahme auf Methoden, die meine db benutzen! Wie kann ich das beheben?
Ausnahme:
"error": "Internal Server Error",
"exception": "java.lang.NoSuchMethodError",
"message": "org.hibernate.cfg.Configuration.addPackage(Ljava/lang/String;)Lorg/hibernate/cfg/Configuration;",
nach removeing diese Zeile:. addPackage("androidapi.model")
ich diese Ausnahme bekam:
"exception": "java.lang.NoSuchMethodError",
"message": "org.hibernate.cfg.Configuration.addAnnotatedClass(Ljava/lang/Class;)Lorg/hibernate/cfg/Configuration;",
"path": "/myinsta/admin_api/mGetAllUser"
meine pom.xml Hibernate Abhängigkeiten:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate</artifactId>
<version>LATEST</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>LATEST</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-search</artifactId>
<version>LATEST</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>LATEST</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-commons-annotations</artifactId>
<version>LATEST</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>LATEST</version>
</dependency>
gelöst! Lese Antwort und seine gut zu wissen, dass Sie kompatible Version von Hibernate verwenden sollten, die hier bei meaven finden können: Maven dependency
Haben Sie wirklich brauchen diese 'AddPackage ("androidapi.model")'? –
Ja, wenn ich diese Zeile entferne, kann sie meine db-Modellklassen wie User & ... nicht finden. @ V.ladynev –
Benutzt du Anmerkungen zu 'User'? –