Не сохраняется таблица в бд. HSQLDB

94
28 ноября 2020, 06:40

Изначально я написал проект с использованием spring-jdbc и бд HSQLDB не в mem режиме, сейчас решил переписать с использованием jpa. Когда использовал вариант с spring-jdbc алгоритм работы был следующий:

  1. Подключаюсь к существующей бд
  2. Добавляю записи, вношу изменения в существующие записи

Сейчас с использованием jpa у меня таблица создается/удаляется при открытии/закрытии приложения. Почему такое поведение? Вот код entity:

@Data
@Entity
@Table(name = "goods")
@NoArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
@AllArgsConstructor
public class Product {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    long id;
    @Column
    String name;
    @Column
    String description;
    @Column
    LocalDate create_date;
    @Column
    long place_storage;
    @Column
    boolean reserved;
}

Так написан DAO:

public interface ProductDAO extends CrudRepository<Product, Long> {
}

Так написан Service:

@Service
public class ProductServiceImpl implements ProductService {
    private final ProductDAO productDAO;
    @Autowired
    public ProductServiceImpl(ProductDAO productDAO) {
        this.productDAO = productDAO;
    }
    @Override
    public Product findById(long id) {
        return productDAO.findById(id).orElseThrow(NotFoundException::new);
    }
    @Override
    public List<Product> getListProducts() {
        return (List)productDAO.findAll();
    }
    @Override
    public Product updateProduct(Product product) {
        return productDAO.save(product);
    }
    @Override
    public Product saveProduct(Product product) {
        return productDAO.save(product);
    }
    @Override
    public boolean deleteProduct(long id) {
        productDAO.deleteById(id);
        return true;
    }
}

Так подключаюсь к бд:

spring.datasource.driver-class-name=org.hsqldb.jdbc.JDBCDriver
spring.datasource.url=jdbc:hsqldb:hsql://localhost/goodsdb
spring.datasource.username=SA
READ ALSO
Я понимаю, что значит синхронизация по методу, но не пойму что такое синхронизация по объекту

Я понимаю, что значит синхронизация по методу, но не пойму что такое синхронизация по объекту

Объясните мне, в чем разница между синхронизацией по методу и по объектуДля вашего правильного понимания того, как я реально это понимаю,...

105
Множественный catch

Множественный catch

Почему не отрабатывает программа? То есть почему только Arith в консоли я вижу? Потому что "выбран" method1? Чтобы такой код отработал каждый метод...

129
SQLite ошибка при добавление

SQLite ошибка при добавление

Нашел пример в интернете как работать с бд решил реализовать под свою задачуСоздал класс DBHelper:

135
Sugar ORM Android

Sugar ORM Android

Решил изучить эту ORM потому что на примерах она показалось мне легкимТак вот есть простой объект:

124