Overview
Atoti Limits provides several objects out-of-the-box that are managed by the defaultEntityManager. Each of these objects is defined as a JPA entity using the @Entity
and @Table annotations. The default entity classes are:
| Managed Object | Entity Class |
|---|---|
| Limit Structures | com.activeviam.limits.model.jpa.LimitStructureEntity |
| Limits | com.activeviam.limits.model.jpa.LimitEntity |
| Incidents | com.activeviam.limits.model.jpa.IncidentEntity |
- to change the length of a database column
- to add new fields
- to change a field’s attribute converter
- to mark a field as nullable/not nullable
- to add an attribute override
- to add dynamic filters to entities at runtime
1. Copy the existing entity class to your project with the same class and package names
It is critical that the class and package names remain the same so that theEntityManager recognizes your custom
entity class as an override of the default entity class and doesn’t treat it as a new entity. For example, to customize
the LimitEntity class, you need to create a LimitEntity.java file at the following path in your project:
<java-folder> is the path from the root of your project to the directory containing your .java files, typically src/main/java.
2. Modify the entity class as needed
You can now modify the entity class as needed. The following example increases the length of thelimit_type field from
the default of 255 characters to 4000 and adds a new description field with a length of 1000 characters, all other
fields and methods remain unchanged:
Custom LimitEntity.java
Custom LimitEntity.java
Limit managed object. You
can verify the change is applied by checking the schema for the limits table in your database to verify that the
limit_type column has a length of 4000 and that the new description column exists:
