package am.ik.categolj2.domain.repository.tag;
import am.ik.categolj2.domain.model.Tag;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.List;
public interface TagRepository extends JpaRepository<Tag, String> {
@Query("SELECT NEW am.ik.categolj2.domain.repository.tag.TagAndEntryId(x, e.entryId) FROM Tag x INNER JOIN x.entries e WHERE e.entryId IN (:entryIds) ORDER BY x.tagName")
List<TagAndEntryId> findByEntryIds(@Param("entryIds") List<Integer> entryIds);
@Query("SELECT COUNT(y) FROM Tag x INNER JOIN x.entries y WHERE x.tagName = :tagName")
long countByTagName(@Param("tagName") String tagName);
@Query("SELECT x FROM Tag x ORDER BY x.tagName")
List<Tag> findOrderByTagNameAsc();
List<Tag> findByTagNameStartsWithOrderByTagNameAsc(String tagName);
}