You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.8 KiB
57 lines
1.8 KiB
package com.mousetech.gourmetj.persistence.dao;
|
|
|
|
import java.util.List;
|
|
|
|
import javax.transaction.Transactional;
|
|
|
|
import org.springframework.data.jpa.repository.JpaRepository;
|
|
import org.springframework.data.jpa.repository.Modifying;
|
|
import org.springframework.data.jpa.repository.Query;
|
|
import org.springframework.stereotype.Repository;
|
|
|
|
import com.mousetech.gourmetj.persistence.model.Shopcat;
|
|
|
|
/**
|
|
* JpaRepository for Shopping Categories, which relate ManyToOne
|
|
* to Ingredient. Service method is @see RecipeService
|
|
*
|
|
* @author timh
|
|
* @since Dec 28, 2021
|
|
*/
|
|
|
|
@Repository
|
|
public interface ShopcatRepository
|
|
extends JpaRepository<Shopcat, Long> {
|
|
|
|
final static String SQL_FIND_CATEGORIES =
|
|
"SELECT DISTINCT shopcategory from shopcats"
|
|
+ " where shopcategory is not null and shopcategory <> ''"
|
|
+ " ORDER BY shopcategory ASC";
|
|
|
|
@Query(value = SQL_FIND_CATEGORIES, nativeQuery = true)
|
|
public List<String> findDistinctCategoryNative();
|
|
|
|
@Transactional
|
|
@Query(value = "UPDATE Shopcat set shopcategory = :newCatname WHERE shopcategory = :oldCatname")
|
|
@Modifying
|
|
public int UpdateShopcats(String oldCatname,
|
|
String newCatname);
|
|
|
|
public Shopcat findShopcatByIngkey(String ingkey);
|
|
|
|
public void deleteByIngkey(String key);
|
|
|
|
public List<Shopcat> findAllByOrderByShopcategoryAsc();
|
|
|
|
@Query(value = "SELECT s.ingkey FROM Shopcat s WHERE s.shopcategory = :shopcat ORDER BY s.ingkey")
|
|
public List<String> findByIngkeySorted(String shopcat);
|
|
|
|
@Transactional
|
|
@Query(value = "UPDATE Shopcat set shopcategory = :newCat WHERE ingkey IN :selectedIngkey")
|
|
@Modifying
|
|
public void updateShopcatFor(String newCat, List<String> selectedIngkey);
|
|
|
|
@Transactional
|
|
@Query(value = "DELETE Shopcat WHERE ingkey IN :selectedIngkey")
|
|
@Modifying public void deleteShopcatFor(List<String> selectedIngkey);
|
|
}
|
|
|