001package chu77.eldependenci.sql; 002 003import org.hibernate.dialect.Dialect; 004import org.springframework.data.jpa.repository.JpaRepository; 005 006import javax.sql.DataSource; 007 008/** 009 * SQL 安裝器 010 */ 011public interface SQLInstallation { 012 013 /** 014 * 綁定 hibernate 的 entities 015 * @param entities table class 016 */ 017 void bindEntities(Class<?>... entities); 018 019 /** 020 * 綁定 spring data jpa repository 的 自定義實例類 021 * @param repository jpa repository 類 022 * @param customImplements 自定義實例類 023 */ 024 void bindJpaRepository(Class<? extends JpaRepository<?,?>> repository, Class<?>... customImplements); 025 026 /** 027 * 設置自定義的 DataSource (數據源) 028 * @param dataSource 自定義的 DataSource 029 * @param dialect 數據源的類型 030 */ 031 void injectDataSource(DataSource dataSource, Class<? extends Dialect> dialect); 032 033}