Domain Model no Mendix | O que é e Como Funciona

Data da Última Atualização: 08/09/2025 – Tempo de Leitura: 4min

O Domain Model é um dos elementos mais importantes dentro do Mendix, pois é ele quem define a estrutura dos dados da sua aplicação. Se você pensa no app como uma casa, o domain model é o projeto arquitetônico que organiza os cômodos, portas e conexões — ou seja, as entidades, atributos e associações.

Neste artigo, vamos explorar em detalhes:

  • O que é o Domain Model
  • Como funcionam as entidades persistíveis e não persistíveis
  • O papel dos atributos, associações e regras de validação
  • As opções de acesso e segurança
  • Exemplos práticos de uso no Mendix

O que é o Domain Model no Mendix?

O Domain Model é a representação visual do banco de dados da aplicação. Ele permite criar:

  • Entidades (Entities): tabelas que armazenam os dados.
  • Atributos (Attributes): colunas que guardam informações específicas.
  • Associações (Associations): relações entre as entidades.

Tudo isso é feito de forma visual e intuitiva, sem precisar escrever código SQL.

📌 Em resumo: o domain model é o coração da aplicação dentro do Mendix.


Principais Elementos do Domain Model

Dentro do Mendix Studio Pro, ao abrir o Domain Model, você encontra diversas ferramentas para modelar dados. Veja os principais elementos:

ElementoDescrição
Entity (Entidade)Representa uma tabela do banco de dados.
Annotation (Anotação)Caixa de texto livre para documentar informações.
Cross-module AssociationsPermite associar entidades entre diferentes módulos.
System MembersAtributos padrão criados automaticamente (CreatedDate, ChangedDate, Owner, ChangedBy).

Entidades no Mendix

As entidades são o ponto de partida. Existem dois tipos:

  1. Persistíveis (Persistable Entities)
    • Armazenam os dados no banco de dados.
    • Exemplo: Usuários, Pedidos, Produtos.
  2. Não Persistíveis (Non-Persistable Entities)
    • Servem para dados temporários que não precisam ser salvos.
    • Exemplo: informações de sessão ou cálculos momentâneos.

🔎 Comparativo entre os tipos de entidade

Tipo de EntidadeArmazena no BancoUso Comum
Persistível✅ SimCadastro de clientes, pedidos, relatórios.
Não Persistível❌ NãoCálculos temporários, variáveis de tela.

Atributos e Propriedades

Cada entidade contém atributos, que funcionam como colunas em uma tabela.
Ao criar um atributo, você pode definir:

  • Nome: identificação do campo.
  • Tipo de dado: string, inteiro, decimal, boolean, etc.
  • Documentação: descrição para facilitar a manutenção.
  • Validações: obrigatoriedade, unicidade e restrições personalizadas.

🔹 Exemplo:
Na entidade User, você pode ter os atributos: Name, Email, Password e CreatedDate.


Associações entre Entidades

As associações permitem criar relacionamentos entre entidades, como em bancos relacionais.

Tipos de associações:

  • 1 : 1 (Um para um)
  • 1 : * (Um para muitos)
  • *** : * (Muitos para muitos)**

Você pode criar associações:

  • Pelo botão New Association
  • Ou arrastando a borda de uma entidade até outra no Domain Model

✨ Também é possível criar self reference, ou seja, uma entidade que se relaciona consigo mesma.


Regras de Validação

O Mendix permite aplicar Validation Rules diretamente no Domain Model:

  • Campo obrigatório
  • Valor único
  • Restrições personalizadas

Isso garante que os dados inseridos sejam consistentes antes mesmo de salvar no banco.


Eventos e Microflows

As entidades podem ter eventos associados:

  • Before Commit (antes de salvar no banco)
  • After Commit (depois de salvar)
  • Before Delete (antes de excluir)
  • After Delete (depois de excluir)

Esses eventos são usados para disparar microflows automáticos.
👉 Exemplo: enviar um e-mail de confirmação ao criar um novo pedido.


Indexação

Você pode criar índices para acelerar buscas dentro de grandes tabelas.
Isso é feito definindo atributos indexados, melhorando o desempenho das consultas.


Acesso e Segurança

Cada entidade possui configurações de Access Rules, que definem quem pode:

  • Criar objetos
  • Editar atributos
  • Ler informações
  • Excluir registros

Essas regras podem ser configuradas para diferentes User Roles, garantindo segurança e boas práticas.

🔒 Exemplo:

  • Usuário Admin pode criar, editar e excluir clientes.
  • Usuário Manager só pode ler e editar clientes associados a ele.

Documentação

O Mendix permite adicionar documentação interna diretamente no domain model, seja em atributos, entidades ou anotações.
Isso facilita a manutenção e a colaboração em equipe.


Conclusão

O Domain Model no Mendix é a espinha dorsal da aplicação. Ele organiza como os dados são armazenados, relacionados e manipulados, garantindo uma base sólida para qualquer sistema.

Com ele, é possível criar aplicações robustas, seguras e escaláveis sem precisar escrever código de banco de dados.

👉 Se você está começando no Mendix, dominar o Domain Model é o primeiro passo para criar apps de sucesso.

author avatar
eduardosalerno

DESTAQUE DO YOUTUBE

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *