抱歉,原来的问题。经过更多的研究,我找到了解决方案。这正在工作
persistence.xml。我认为
user并且
password不能在sqlite中设置。
minimumPoolSize- > minimumIdle
<properties> <property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider" /> <property name="hibernate.hbm2ddl.auto" value="validate" /> <property name="hibernate.dialect" value="org.hibernate.dialect.SQLiteDialect" /> <property name="hibernate.show_sql" value="false" /> <property name="hibernate.format_sql" value="true" /> <property name="hibernate.connection.provider_class" value="com.zaxxer.hikari.hibernate.HikariConnectionProvider" /> <property name="hibernate.hikari.minimumIdle" value="20" /> <property name="hibernate.hikari.maximumPoolSize" value="100" /> <property name="hibernate.hikari.idleTimeout" value="30000" /> <property name="hibernate.hikari.dataSourceClassName" value="org.sqlite.SQLiteDataSource" /> <property name="hibernate.hikari.dataSource.url" value="jdbc:sqlite:/tmp/database.db" /></properties>
正如@neil和@zeus建议的那样,这是使用JNDI的另一种配置。
<properties> <property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider" /> <property name="hibernate.hbm2ddl.auto" value="validate" /> <property name="hibernate.dialect" value="org.hibernate.dialect.SQLiteDialect" /> <property name="hibernate.show_sql" value="true" /> <property name="hibernate.format_sql" value="true" /> <property name="hibernate.connection.datasource" value="java:comp/env/jdbc/SQLiteHikari"/></properties>
src-> main-> webapp-> meta-INF-> context.xml
<Context antiJARLocking="true" path="/nbs"> <Resource name="jdbc/SQLiteHikari" auth="Container" factory="com.zaxxer.hikari.HikariJNDIFactory" type="javax.sql.DataSource" minimumIdle="20" maximumPoolSize="100" connectionTimeout="300000" dataSourceClassName="org.sqlite.SQLiteDataSource" dataSource.url="jdbc:sqlite:/tmp/database.db" /></Context>



