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