Java Don';t通过插入/删除/创建请求JDBC

Java Don';t通过插入/删除/创建请求JDBC,java,jdbc,insert-query,Java,Jdbc,Insert Query,这个连接类 public class AppConnect { private static final String url ="jdbc:hsqldb:file:src/main/resources/db/library"; private static final String driver ="org.hsqldb.jdbcDriver"; private static final String user = "SA"; private static final String passw

这个连接类

public class AppConnect {
private static final String url ="jdbc:hsqldb:file:src/main/resources/db/library";
private static final String driver ="org.hsqldb.jdbcDriver";
private static final String user = "SA";
private static final String password = "";
public Connection getConnection() {
    Connection connection = null;
    try {
        Class.forName(driver);
        connection = DriverManager.getConnection(url, user, password);
        connection.setAutoCommit(true);
        System.out.println("+)");
    } catch (ClassNotFoundException | SQLException e) {
        e.printStackTrace();
        System.out.println(":(");
    }
    return connection;
}
} 这种插入方法

public class AuthorSQL extends AppConnect implements AuthorsDAO {
Connection connection = getConnection();
@Override
public void add(Author author) throws SQLException {
    PreparedStatement pr = null;
    String sql = "INSERT INTO AUTHORS(ID, NAME, SURNAME, FATHERNAME) VALUES ( ?, ?, ?, ?)";
    try {
        System.out.println(connection.isClosed());
        connection.setAutoCommit(true);
        pr = connection.prepareStatement(sql);

        pr.setLong(1, author.getId());
        pr.setString(2, author.getName());
        pr.setString(3, author.getSurname());
        pr.setString(4, author.getFathername());
        pr.executeUpdate();
        connection.commit();
        System.out.println("success");
    } catch (SQLException e) {e.printStackTrace();
    } finally {
        pr.close();
        connection.close(); 
    }
}

测试显示一切正常,请求已通过,但在DB中没有任何新内容。getAll和getById(ResultSet)-方法正常工作。内存中的数据库。在DB“only read”模式下关闭文件属性。

我有hslqdb.jar,他创建了DB/library,有必要满足测试、进程内模式的要求。我在SQL类中删除了
connection.commit()
connection.setAutoCommit(true)
,并且所有操作都正常。

src/main/resources/db/library
是数据库的可疑位置。资源通常位于应用程序jar文件中,不可写,引用它的方式只能在IDE中工作。另外,在自动提交为true时调用
connection.commit()
,应该会导致异常。使用自动提交时,驱动程序(或数据库)应在语句执行后自动提交。在任何情况下,请张贴一个,因为您当前的代码缺少一些部分。请确保将代码减少到再现问题所需的最小值。