RESTful веб-сервис с Spring Boot & Data JPA всегда отображает активную таблицу оракулов - PullRequest
0 голосов
/ 08 мая 2019

У меня есть три таблицы Oracle:

  1. I_SWAP - с двумя столбцами (PRODUCTION_TABLE_NAME, BACKUP_TABLE_NAME). Эта таблица содержит только одну запись, обновляемую ежедневно с либо PRODUCTION_TABLE_NAME = table_name из п.2 или п.3.
  2. I_CUST_DETAILS - заполнено данными клиента
  3. I_CUST_DETAILS2 - заполнено данными клиента

Мне удается успешно создать веб-сервис, когда я непосредственно сопоставил таблицу из п.2 или п.3 следующим образом:

@Entity
@Table(name = "I_CUST_DETAILS")
public class Client {

    @Id
    @Column(name = "PHONE", nullable = true, length = 15)
    private String phone;

    @Column(name = "SEGMENT", nullable = true, length = 32)
    private String segment;
...
@RestController
@RequestMapping("/client")
public class ClientController {
    @Autowired
    ClientService clientService;

    @RequestMapping(value = "/all", method = RequestMethod.GET)
    public List<Client> getAllClients() {
        return clientService.getAllClients();
    }


    @RequestMapping(value = "/{phone}", method = RequestMethod.GET)
    public Optional<Client> getClient(@PathVariable String phone) {
        return this.clientService.getClientByPhone(phone);
    }
...

@Service
public class ClientService {

        @Autowired
        ClientDao clientDao;

        public List<Client> getAllClients() {
            return this.clientDao.findAll();
        }  
...
@Repository
public interface ClientDao extends JpaRepository<Client, String> {
}

Однако идея состоит в том, чтобы всегда предоставлять PRODCUTION_TALBE_NAME (I_CUST_DETAILS или I_CUST_DETAILS2) в веб-сервисе, а не жестко его кодировать. Как я могу это сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...