<commit_before>---
layout: docs
title: Documentation - Configuration
---

# Configuration #
None of us likes to configure tools but don't worry, we at JaVers know it and 
do the hard work to minimize configuration efforts on your side.

As we stated before, JaVers configuration is very concise.
You can start with zero config and give JaVers a chance to infer all facts about your domain model.

Take a look how JaVers deals with your data. If it's fine, let the defaults work for.  
Add configuration when you would like to change the default behavior.
 
There are two logical areas of configuration,
[domain model mapping](/documentation/configuration#domain-model-mapping) 
and 
[repository setup](/documentation/configuration#repository-setup).
Proper mapping is important for both JaVers features, object diff and data audit (JaversRepository).

Object diff algorithm is the core of JaVers. When two objects are compared, JaVers needs to know what
type they are. We distinct following types: *Entities*, *ValueObjects*, *Values*, *Containers* and *Primitives*.  
Each type has a different comparing style. <commit_msg>/documentation small lang fixes<commit_after>---
layout: docs
title: Documentation - Configuration
---

# Configuration #
None of us likes to configure tools but don't worry, JaVers knows it and
does the hard work to minimize the configuration efforts on your side.

As we stated before, JaVers configuration is very concise.
You can start with zero config and give JaVers a chance to infer all facts about your domain model.

Take a look how JaVers deals with your data. If it's fine, let the defaults work for.  
Add more configuration when you would like to change the default behavior.
 
There are two logical areas of the configuration,
[domain model mapping](/documentation/configuration#domain-model-mapping) 
and 
[repository setup](/documentation/configuration#repository-setup).
Proper mapping is important for both JaVers features, object diff and data audit (JaversRepository).

Object diff algorithm is the core of JaVers. When two objects are compared, JaVers needs to know what
type they are. We distinct following types: *Entities*, *ValueObjects*, *Values*, *Containers* and *Primitives*.  
Each type has a different comparing style. 
{'fraction_non_alphanumeric': 0.05934065934065934, 'fraction_numerical': 0.0, 'mean_word_length': 4.675810473815462, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2120597', 'n_tokens_mistral': 555, 'n_tokens_neox': 536, 'n_words': 314}