Adding Managed Objects


You can set up Atoti Limits to manage custom objects with same EntityManager as the out-of-the-box objects. Here’s how to do it:

1. Create the Entity

Define the entity class that will be managed by the EntityManager. This class should be annotated with @Entity and @Table to be recognized as a JPA entity. For example, the entity may look as follows:

package com.activeviam.limits.model.custom.jpa;

@Table(name = "my_custom_entity")
public class MyCustomEntity {

  @Column(name = "id")
  protected String id;

  @Column(name = "name")
  protected String name;


2. Create a JPA Repository

Create the JpaRepository for the entity. This could be as simple as:

public interface MyCustomJpaRepo extends JpaRepository<MyCustomEntity, String> {


3. Import the JPA Repository

Create and import a Spring configuration class that imports the JpaRepository for the entity and uses the same EntityManager as the default managed objects, for example:

    entityManagerFactoryRef = LimitsJpaConfig.LIMITS_ENTITY_MANAGER_FACTORY,
    transactionManagerRef = LimitsJpaConfig.LIMITS_TRANSACTION_MANAGER,
    basePackageClasses = {
public class MyCustomJpaConfig {


4. Scan for the Entity

In order to be managed by the same entity manager as the out-of-the-box objects, the entity package must be added to the list of packages picked up by the configuration property. The default value for this property is com.activeviam.limits.model.jpa, so in the case of MyCustomEntity above, the new property would be:

        packages-to-scan: com.activeviam.limits.model.jpa, com.activeviam.limits.model.custom.jpa