SecurityRepository.java
package com.tdmconsult.ete.masterdata;
import com.tdmconsult.ete.exceptions.SecurityNotFound;
import java.util.Optional;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface SecurityRepository extends JpaRepository<Security, Long> {
Optional<Security> findByPublicId(final String publicId);
Optional<Security> findByIsin(final String isin);
default Security findByPublicIdOrThrow(final String publicId) {
return findByPublicId(publicId).orElseThrow(() -> SecurityNotFound.byId(publicId));
}
default Security findByIsinOrThrow(final String isin) {
return findByIsin(isin).orElseThrow(() -> SecurityNotFound.byIsin(isin));
}
}