Bring Idea into Life with No Limits
Easily build modern web applications with highly flexible Visual Tools
When you want to create a data model you have two options:
The first option is to draw the model diagram in tools such as MS Visio, from which developers write JPA classes manually. This approach is slow, error prone because of manual work and very often model diagram and JPA classes are not in sync as usually data architects will draw the model as UML diagram or ER diagram and the developer will have to interpret it and create JPA Java classes from it.
Another option is to use some UML or ER standalone application or an IDE plugin to create your model and then with a provided generator you generate JPA classes from it. Usually you are able to customize such generators with some kind of scripting language but not with Java. If you want to view your model, the only way to do it is from a development environment (from your IDE or desktop application). An additional problem with the IDE plugin is that usually data architects are not comfortable using the same environment that developers are using.
Codeless Platform offers an alternative approach that solves all mentioned problems.
Model Administrator is a powerful yet very easy to use, web tool that is an integral part of the Codeless Platform.
With the Model Administrator you are modeling metadata models. It means that everything you model will be stored in the database as metadata of your model. JPA generator is using this metadata and generates Java classes using the JPA standard. Other provided generators are the Maven project generator, Hibernate configuration files generator, Spring application context generator, etc.
These generators are written in Java and it’s very easy to write your own generators if needed. As a model is stored as metadata, if anything changes in JPA standard or you would like to generate something completely different than JPA, you can easily write a new generator using Java to accomplish this.
Metadata model consist of the following:
- Model - that corresponds to a Java project.
- Model Relationships - that defines dependencies between Models and it corresponds to Java project dependencies.
- Model Package - that corresponds to the Java package.
- Model Entity - that corresponds to JPA Entity class.
- Model Entity Property - that corresponds to JPA entity fields and relations.
As metamodel is stored in the database and Model administrator is an integral part of Codeless Platform’s web tools it can be accessed from anywhere by simply opening the URL in your web browser with no additional installations.
The Model administrator has three real-time views of every change you do with your data model:
JPA classes view
This view will give you an overview of current changes in metadata and how this will affect generated JPA classes:
This view shows all Meta Forms that will be affected by the current changes in metadata:
This view will give you a real-time preview of DDL statements that need to be performed to synchronize your models with the database.
When you save your models, the Platform will do all actions needed to synchronize metamodels with the JPA model. That includes generating Java Maven project files for each Model, JPA Java classes and all configuration files like parent pom file, Spring application context file etc.
If you are familiar with JPA you will learn how to work with a Model administrator in a couple of minutes.
If you are not familiar with JPA you can learn it from various places like this: https://www.tutorialspoint.com/jpa/index.htm