Erro ao acessar detalhes de um cliente exportado. Ao analisar os logs, a seguinte exceção foi reportada.
More than one row with the given identifier was found: 7074, for class: br.com.mobilemind.gym.Cliente. Stacktrace follows:
org.hibernate.HibernateException: More than one row with the given identifier was found: 7074, for class: br.com.mobilemind.gym.Cliente
at br.com.mobilemind.gym.ClienteController.gatherClienteShowModel(ClienteController.groovy:10394)
at br.com.mobilemind.gym.ClienteController$_show_closure56.doCall(ClienteController.groovy:2283)
at br.com.mobilemind.gym.ClienteController.withCliente(ClienteController.groovy:10352)
at br.com.mobilemind.gym.ClienteController.show(ClienteController.groovy:2236)
org.hibernate.HibernateException: More than one row with the given identifier was found: 7074, for class: br.com.mobilemind.gym.Cliente
at br.com.mobilemind.gym.ClienteController.gatherClienteShowModel(ClienteController.groovy:10394)
at br.com.mobilemind.gym.ClienteController$_show_closure56.doCall(ClienteController.groovy:2283)
at br.com.mobilemind.gym.ClienteController.withCliente(ClienteController.groovy:10352)
at br.com.mobilemind.gym.ClienteController.show(ClienteController.groovy:2236)
Solução
Verificar se o sistemaAdministrativoControle do cliente não está relacionado a mais de um cliente. Nesse caso, o ID do sistemaAdministrativoControle era 7074. Então a seguinte SQL conseguiu identificar o problema:
SELECT * FROM `cliente_sistema_administrativo_controle` WHERE `id` = 7074
Para esse caso, retornou mais que uma relação, e isso não pode. Um registro só pode estar relacionado a um cliente. Então devemos remover a relação dos dos clientes baseado na tenant do sistemaAdministrativoControle.
Isso ocorre em clientes exportados em versões antigas do 4GYM, que por conta de um BUG não tratavam essa situação na exportação.