You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
David Benedeki edited this page Oct 24, 2025
·
2 revisions
Philosophy
The philosophy of this project is centered around the idea, that an application should be accessing the database only via stored procedures/functions. This means that all data read and write operations are performed through these database functions, establishing a stable contract between the application and the database.
This approach offers several benefits:
Storing and retrieving the data effectively differs from the main application logic
Separation of concerns
Separation of duties
Protection of data from unauthorized read
Protection of data consistency
Scaling
Testability
Portability
Fa-DB library aims to facilitate a natural and idiomatic way to call these database functions from Scala applications, making it easier to work with stored procedures/functions while adhering to the principles of functional programming and type safety.