я использую Hibernate для подключения к моей БД, и я настроить свою базу данных в сторону моего dbConnector класса:Hibernate NoSuchMethodError для метода AddPackage
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;
}
, когда я запускаю мое приложение внутри моего язя мой код работает правильно, но после создания файла войны с maven я получил это исключение из методов, которые используют мой db! Как я могу это исправить?
исключение:
"error": "Internal Server Error",
"exception": "java.lang.NoSuchMethodError",
"message": "org.hibernate.cfg.Configuration.addPackage(Ljava/lang/String;)Lorg/hibernate/cfg/Configuration;",
после removeing этой строки:. addPackage("androidapi.model")
я получил это исключение:
"exception": "java.lang.NoSuchMethodError",
"message": "org.hibernate.cfg.Configuration.addAnnotatedClass(Ljava/lang/Class;)Lorg/hibernate/cfg/Configuration;",
"path": "/myinsta/admin_api/mGetAllUser"
мои pom.xml Hibernate зависимостей:
<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>
решена! чтение ответа и его хорошо знать, что вы должны использовать совместимую версию спящего режима, который может найти здесь meaven части: Maven dependency
ли вам действительно нужно это 'AddPackage («androidapi.model»)'? –
да, если я удалю эту строку, он не сможет найти мои классы моделей db, такие как User & ... @ v.ladynev –
Используете ли вы аннотации на 'User'? –