Tell me how to solve my problem as concisely as possible.:
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"
             version="2.1">
    <persistence-unit name="templatePU">
        <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
        <class>com.mycompany.myapp.Basket</class>
        <class>com.mycompany.myapp.Watermelon</class>
        <class>com.mycompany.myapp.Kiwi</class>
        <properties>
            <!-- <property name="jakarta.persistence.jdbc.driver" value="org.sqlite.JDBC"/> -->
            <!-- <property name="jakarta.persistence.jdbc.url" value="jdbc:sqlite:mydatabase.sqlite"/> -->
            <property name="jakarta.persistence.jdbc.driver" value="org.h2.Driver"/>
            <property name="jakarta.persistence.jdbc.url" value="jdbc:h2:mem:test;DB_CLOSE_DELAY=-1"/>
            <!-- <property name="hibernate.dialect" value="org.hibernate.community.dialect.SQLiteDialect"/> -->
            <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>
            <property name="hibernate.hbm2ddl.auto" value="update"/>
            <property name="hibernate.show_sql" value="true"/>
        </properties>
    </persistence-unit>
</persistence>

package org.hibernate.bugs;

import com.mycompany.myapp.Basket;
import com.mycompany.myapp.Kiwi;
import com.mycompany.myapp.Watermelon;
import jakarta.persistence.EntityManager;
import jakarta.persistence.EntityManagerFactory;
import jakarta.persistence.Persistence;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;

//import org.junit.After;
//import org.junit.Before;
//import org.junit.Test;

/**
 * This template demonstrates how to develop a test case for Hibernate ORM, using the Java Persistence API.
 */
public class JPAUnitTestCase {

    private EntityManagerFactory entityManagerFactory;

    @BeforeEach
    public void init() {
        entityManagerFactory = Persistence.createEntityManagerFactory( "templatePU" );
    }

    @BeforeEach
    public void deletePreviousRows() {
        EntityManager entityManager = entityManagerFactory.createEntityManager();
        entityManager.getTransaction().begin();
        entityManager.createNativeQuery("TRUNCATE TABLE Watermelon").executeUpdate();
        entityManager.createNativeQuery("TRUNCATE TABLE Kiwi").executeUpdate();
        entityManager.createNativeQuery("TRUNCATE TABLE Basket").executeUpdate();
        entityManager.getTransaction().commit();
        entityManager.close();
    }

    @AfterEach
    public void destroy() {
        entityManagerFactory.close();
    }

    // Entities are auto-discovered, so just add them anywhere on class-path
    // Add your tests, using standard JUnit.
    @Test
    public void hhh123Test() throws Exception {
        EntityManager entityManager = entityManagerFactory.createEntityManager();
        entityManager.getTransaction().begin();

        // Do stuff...
        Watermelon watermelon = new Watermelon(10.0, LocalDateTime.now());
        Kiwi kiwi1 = new Kiwi();
        kiwi1.setPurchasePrice(1.0);
        kiwi1.setPurchaseTimestamp(LocalDateTime.now());
        Kiwi kiwi2 = new Kiwi();
        kiwi2.setPurchasePrice(1.0);
        kiwi2.setPurchaseTimestamp(LocalDateTime.now().plusMinutes(1));
        List<Kiwi> kiwis = new ArrayList<>(2);
        kiwis.add(kiwi1);
        kiwis.add(kiwi2);

        Basket basket = new Basket();
        basket.setBrandName("Tote");
        basket.setWatermelon(watermelon);
        basket.setKiwis(kiwis);

        entityManager.merge(basket);

        entityManager.getTransaction().commit();

        ///////////////
        // Accessing the data
        List<Basket> baskets = entityManager.createQuery("FROM Basket").getResultList(); // Basket persistedBasket = entityManager.find(Basket.class, basket.getId());
        System.out.println("baskets: " + baskets);
        Basket persistedBasket = baskets.get(0);
        List<Kiwi> persistedKiwis = persistedBasket.getKiwis();
        Watermelon persistedWatermelon = persistedBasket.getWatermelon();

        // Work with the persisted data as needed
        System.out.println(persistedBasket);
        for (Kiwi persistedKiwi : persistedKiwis) {
            System.out.println(persistedKiwi);
            System.out.println(persistedKiwi);
        }
        ///////////////

        entityManager.close();
    }
}

/usr/lib/jvm/java-1.17.0-openjdk-amd64/bin/java -ea -Didea.test.cyclic.buffer.size=1048576 -javaagent:/home/user/idea-IC-232.9559.62/lib/idea_rt.jar=45435:/home/user/idea-IC-232.9559.62/bin -Dfile.encoding=UTF-8 -classpath /home/user/.m2/repository/org/junit/platform/junit-platform-launcher/1.10.0/junit-platform-launcher-1.10.0.jar:/home/user/.m2/repository/org/junit/platform/junit-platform-engine/1.10.0/junit-platform-engine-1.10.0.jar:/home/user/.m2/repository/org/junit/jupiter/junit-jupiter-engine/5.10.0/junit-jupiter-engine-5.10.0.jar:/home/user/idea-IC-232.9559.62/lib/idea_rt.jar:/home/user/idea-IC-232.9559.62/plugins/junit/lib/junit5-rt.jar:/home/user/idea-IC-232.9559.62/plugins/junit/lib/junit-rt.jar:/home/user/IdeaProjects/MiniProjectForForumHelp/target/test-classes:/home/user/IdeaProjects/MiniProjectForForumHelp/target/classes:/home/user/.m2/repository/org/xerial/sqlite-jdbc/3.43.0.0/sqlite-jdbc-3.43.0.0.jar:/home/user/.m2/repository/org/hibernate/orm/hibernate-core/6.3.1.Final/hibernate-core-6.3.1.Final.jar:/home/user/.m2/repository/jakarta/persistence/jakarta.persistence-api/3.1.0/jakarta.persistence-api-3.1.0.jar:/home/user/.m2/repository/jakarta/transaction/jakarta.transaction-api/2.0.1/jakarta.transaction-api-2.0.1.jar:/home/user/.m2/repository/org/jboss/logging/jboss-logging/3.5.0.Final/jboss-logging-3.5.0.Final.jar:/home/user/.m2/repository/org/hibernate/common/hibernate-commons-annotations/6.0.6.Final/hibernate-commons-annotations-6.0.6.Final.jar:/home/user/.m2/repository/io/smallrye/jandex/3.1.2/jandex-3.1.2.jar:/home/user/.m2/repository/com/fasterxml/classmate/1.5.1/classmate-1.5.1.jar:/home/user/.m2/repository/net/bytebuddy/byte-buddy/1.14.7/byte-buddy-1.14.7.jar:/home/user/.m2/repository/jakarta/xml/bind/jakarta.xml.bind-api/4.0.0/jakarta.xml.bind-api-4.0.0.jar:/home/user/.m2/repository/jakarta/activation/jakarta.activation-api/2.1.0/jakarta.activation-api-2.1.0.jar:/home/user/.m2/repository/org/glassfish/jaxb/jaxb-runtime/4.0.2/jaxb-runtime-4.0.2.jar:/home/user/.m2/repository/org/glassfish/jaxb/jaxb-core/4.0.2/jaxb-core-4.0.2.jar:/home/user/.m2/repository/org/eclipse/angus/angus-activation/2.0.0/angus-activation-2.0.0.jar:/home/user/.m2/repository/org/glassfish/jaxb/txw2/4.0.2/txw2-4.0.2.jar:/home/user/.m2/repository/com/sun/istack/istack-commons-runtime/4.1.1/istack-commons-runtime-4.1.1.jar:/home/user/.m2/repository/jakarta/inject/jakarta.inject-api/2.0.1/jakarta.inject-api-2.0.1.jar:/home/user/.m2/repository/org/antlr/antlr4-runtime/4.10.1/antlr4-runtime-4.10.1.jar:/home/user/.m2/repository/org/hibernate/orm/hibernate-community-dialects/6.2.7.Final/hibernate-community-dialects-6.2.7.Final.jar:/home/user/.m2/repository/org/junit/jupiter/junit-jupiter-api/5.10.0/junit-jupiter-api-5.10.0.jar:/home/user/.m2/repository/org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.jar:/home/user/.m2/repository/org/junit/platform/junit-platform-commons/1.10.0/junit-platform-commons-1.10.0.jar:/home/user/.m2/repository/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar:/home/user/.m2/repository/com/h2database/h2/2.2.224/h2-2.2.224.jar com.intellij.rt.junit.JUnitStarter -ideVersion5 -junit5 org.hibernate.bugs.JPAUnitTestCase
Oct. 03, 2023 4:53:36 A.M. org.hibernate.jpa.internal.util.LogHelper logPersistenceUnitInformation
INFO: HHH000204: Processing PersistenceUnitInfo [name: templatePU]
Oct. 03, 2023 4:53:36 A.M. org.hibernate.Version logVersion
INFO: HHH000412: Hibernate ORM core version 6.3.1.Final
Oct. 03, 2023 4:53:36 A.M. org.hibernate.cache.internal.RegionFactoryInitiator initiateService
INFO: HHH000026: Second-level cache disabled
Oct. 03, 2023 4:53:36 A.M. org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
WARN: HHH10001002: Using built-in connection pool (not intended for production use)
Oct. 03, 2023 4:53:36 A.M. org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001005: Loaded JDBC driver class: org.h2.Driver
Oct. 03, 2023 4:53:36 A.M. org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001012: Connecting with JDBC URL [jdbc:h2:mem:test;DB_CLOSE_DELAY=-1]
Oct. 03, 2023 4:53:36 A.M. org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001001: Connection properties: {}
Oct. 03, 2023 4:53:36 A.M. org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001003: Autocommit mode: false
Oct. 03, 2023 4:53:36 A.M. org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PooledConnections <init>
INFO: HHH10001115: Connection pool size: 20 (min=1)
Oct. 03, 2023 4:53:36 A.M. org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl constructDialect
WARN: HHH90000025: H2Dialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default)
Oct. 03, 2023 4:53:37 A.M. org.hibernate.engine.transaction.jta.platform.internal.JtaPlatformInitiator initiateService
INFO: HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration)
Oct. 03, 2023 4:53:37 A.M. org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl getIsolatedConnection
INFO: HHH10001501: Connection obtained from JdbcConnectionAccess [org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess@7f5fcfe9] for (non-JTA) DDL execution was not in auto-commit mode; the Connection 'local transaction' will be committed and the Connection will be set into auto-commit mode.
Hibernate: create table Basket (basketUuid varchar(255) not null, brandName varchar(255), primary key (basketUuid))
Hibernate: create table Kiwi (kiwiUuid varchar(255) not null, purchasePrice float(53) not null, purchaseTimestamp timestamp(6), basketUuid varchar(255), primary key (kiwiUuid))
Hibernate: create table Watermelon (watermelonUuid varchar(255) not null, purchasePrice float(53) not null, purchaseTimestamp timestamp(6), basketUuid varchar(255), primary key (watermelonUuid))
Hibernate: alter table if exists Watermelon drop constraint if exists UK_ad6t7ccky3nwuethuv9mreq90
Hibernate: alter table if exists Watermelon add constraint UK_ad6t7ccky3nwuethuv9mreq90 unique (basketUuid)
Hibernate: alter table if exists Kiwi add constraint FK258orov1cuirecxfvovjn3f5l foreign key (basketUuid) references Basket
Hibernate: alter table if exists Watermelon add constraint FK3eaflmfr759v2ek4ofjtjmbno foreign key (basketUuid) references Basket
Hibernate: TRUNCATE TABLE Watermelon
Hibernate: TRUNCATE TABLE Kiwi
Hibernate: TRUNCATE TABLE Basket
Oct. 03, 2023 4:53:37 A.M. org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
WARN: SQL Error: 90106, SQLState: 90106
Oct. 03, 2023 4:53:37 A.M. org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
ERROR: Cannot truncate "PUBLIC.BASKET"; SQL statement:
TRUNCATE TABLE Basket [90106-224]
Oct. 03, 2023 4:53:37 A.M. org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PoolState stop
INFO: HHH10001008: Cleaning up connection pool [jdbc:h2:mem:test;DB_CLOSE_DELAY=-1]
Oct. 03, 2023 4:53:37 A.M. org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PooledConnections close
ERROR: Connection leak detected: there are 1 unclosed connections upon shutting down pool jdbc:h2:mem:test;DB_CLOSE_DELAY=-1
Oct. 03, 2023 4:53:37 A.M. org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl validateConnectionsReturned
ERROR: Connection leak detected: there are 1 unclosed connections

org.hibernate.exception.SQLGrammarException: JDBC exception executing SQL [TRUNCATE TABLE Basket] [Cannot truncate "PUBLIC.BASKET"; SQL statement:
TRUNCATE TABLE Basket [90106-224]] [n/a]

	at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:66)
	at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:58)
	at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:108)
	at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:94)
	at org.hibernate.sql.exec.internal.StandardJdbcMutationExecutor.execute(StandardJdbcMutationExecutor.java:96)
	at org.hibernate.query.sql.internal.NativeNonSelectQueryPlanImpl.executeUpdate(NativeNonSelectQueryPlanImpl.java:76)
	at org.hibernate.query.sql.internal.NativeQueryImpl.doExecuteUpdate(NativeQueryImpl.java:835)
	at org.hibernate.query.spi.AbstractQuery.executeUpdate(AbstractQuery.java:650)
	at org.hibernate.bugs.JPAUnitTestCase.deletePreviousRows(JPAUnitTestCase.java:39)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Cannot truncate "PUBLIC.BASKET"; SQL statement:
TRUNCATE TABLE Basket [90106-224]
	at org.h2.message.DbException.getJdbcSQLException(DbException.java:644)
	at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
	at org.h2.message.DbException.get(DbException.java:223)
	at org.h2.message.DbException.get(DbException.java:199)
	at org.h2.command.ddl.TruncateTable.update(TruncateTable.java:42)
	at org.h2.command.CommandContainer.update(CommandContainer.java:169)
	at org.h2.command.Command.executeUpdate(Command.java:256)
	at org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:216)
	at org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:174)
	at org.hibernate.sql.exec.internal.StandardJdbcMutationExecutor.execute(StandardJdbcMutationExecutor.java:83)
	... 7 more


Process finished with exit code 255