Java 无法创建请求的服务[org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]?
我使用的是SQLite和Hibernate ORM core版本5.4.20.Final,但出现以下错误Java 无法创建请求的服务[org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]?,java,hibernate,sqlite,Java,Hibernate,Sqlite,我使用的是SQLite和Hibernate ORM core版本5.4.20.Final,但出现以下错误 ago 21, 2020 10:47:09 PM org.hibernate.Version logVersion INFO: HHH000412: Hibernate ORM core version 5.4.20.Final ago 21, 2020 10:47:09 PM org.hibernate.annotations.common.reflection.java.JavaRefl
ago 21, 2020 10:47:09 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate ORM core version 5.4.20.Final
ago 21, 2020 10:47:09 PM org.hibernate.annotations.common.reflection.java.JavaReflectionManager <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {5.1.0.Final}
ago 21, 2020 10:47:10 PM org.hibernate.dialect.Dialect <init>
INFO: HHH000400: Using dialect: org.hibernate.dialect.SQLiteDialect
Exception in thread "main" org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:275)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:237)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214)
at org.hibernate.id.factory.internal.DefaultIdentifierGeneratorFactory.injectServices(DefaultIdentifierGeneratorFactory.java:152)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.injectDependencies(AbstractServiceRegistryImpl.java:286)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:243)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214)
at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.<init>(InFlightMetadataCollectorImpl.java:176)
at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:118)
at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.build(MetadataBuildingProcess.java:83)
at org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:473)
at org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:84)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:689)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:724)
at com.abigsite.facturationsystem.config.GenerateTables.main(GenerateTables.java:12)
Caused by: org.hibernate.HibernateException: java.lang.IllegalArgumentException: max size attribute is mandatory
at org.hibernate.agroal.internal.AgroalConnectionProvider.configure(AgroalConnectionProvider.java:95)
at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:107)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:246)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214)
at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.buildJdbcConnectionAccess(JdbcEnvironmentInitiator.java:145)
at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:66)
at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:35)
at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:101)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263)
... 14 more
Caused by: java.lang.IllegalArgumentException: max size attribute is mandatory
at io.agroal.api.configuration.supplier.AgroalConnectionPoolConfigurationSupplier.validate(AgroalConnectionPoolConfigurationSupplier.java:237)
at io.agroal.api.configuration.supplier.AgroalConnectionPoolConfigurationSupplier.get(AgroalConnectionPoolConfigurationSupplier.java:278)
at io.agroal.api.configuration.supplier.AgroalConnectionPoolConfigurationSupplier.get(AgroalConnectionPoolConfigurationSupplier.java:25)
at io.agroal.api.configuration.supplier.AgroalDataSourceConfigurationSupplier.connectionPoolConfiguration(AgroalDataSourceConfigurationSupplier.java:53)
at io.agroal.api.configuration.supplier.AgroalPropertiesReader.readProperties(AgroalPropertiesReader.java:176)
at org.hibernate.agroal.internal.AgroalConnectionProvider.configure(AgroalConnectionProvider.java:81)
... 22 more
最后,我有一个课程,负责坚持
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import com.abigsite.facturationsystem.model.Role;
public class Example {
public static void main(String[] args) {
SessionFactory session = new Configuration().configure("hibernate.cfg.xml").buildSessionFactory();
Session s = session.openSession();
Transaction t = s.beginTransaction();
Role role = new Role();
s.save(role);
t.commit();
}
}
错误发生在以下行:
SessionFactory session = new Configuration().configure("hibernate.cfg.xml").buildSessionFactory();
验证数据库的位置,此外,依赖项中使用了SQLite JDBC.jar,另一方面,使用了正确的方言,与库相同您可能用错误的标记标记了这个问题。您的代码正在使用Hibernate,而不是NHibernate:-)已编辑,很抱歉我没有意识到。您可能用错误的标记标记了此问题。您的代码正在使用Hibernate,而不是NHibernate:-)编辑,很抱歉我没有意识到。
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import com.abigsite.facturationsystem.model.Role;
public class Example {
public static void main(String[] args) {
SessionFactory session = new Configuration().configure("hibernate.cfg.xml").buildSessionFactory();
Session s = session.openSession();
Transaction t = s.beginTransaction();
Role role = new Role();
s.save(role);
t.commit();
}
}
SessionFactory session = new Configuration().configure("hibernate.cfg.xml").buildSessionFactory();