title: "must implement the inherited abstract method"
body: <p>I had in my class AbstractJpaDao method </p>
  
  <pre><code>@Override
  public EntityManager getEntityManager() {
      return em;
  }
  </code></pre>
  
  <p>now it isn't in use and I wanted to delete it, but i get error:</p>
  
  <p>The type <code>JpaAclIdentityDao</code> must implement the inherited abstract method <code>IJpaDao.getEntityManager()</code> in class <code>JpaAclIdentityDao</code>.</p>
  
  <p>is that getter necessary? if not how to remove it</p>
  
  <p>my code:</p>
  
  <pre><code>public abstract class AbstractJpaDao implements IJpaDao {
  
  protected final IApplicationConfig config;
  
  protected final EntityManager em;
  
  private final SingletonEventBus eventBus;
  
  public AbstractJpaDao(EntityManager entityManager, IApplicationConfig config, SingletonEventBus eventBus) {
      checkArgument(entityManager != null);
      checkArgument(config != null);
      checkArgument(eventBus != null);
      this.em = entityManager;
      this.config = config;
      this.eventBus = eventBus;
  }
  
  protected void saveEntity(IEntity entity) {
      boolean isNew = entity.getId() == 0;
      em.getTransaction().begin();
      try {
          em.persist(entity);
          em.getTransaction().commit();
          if (isNew) {
              eventBus.post(new EntityCreatedEvent(entity));
          }
      } finally {
          if (em.getTransaction().isActive()) {
              em.getTransaction().rollback();
          }
      }
  }
  
  
  
  @Repository
  public class JpaAclIdentityDao extends AbstractJpaDao implements IAclIdentityDao {
  
  
  
     public static final String GROUP_NAME_PATTERN = "GROUP_%d"; 
  
      private static final String GROUP_TEMP_NAME = "TEMP_GROUP_NAME"; 
  
  @Inject
  public JpaAclIdentityDao(EntityManager entityManager, IApplicationConfig config, SingletonEventBus eventBus) {
      super(entityManager, config, eventBus);
  }
  
  @Override
  public AclIdentity findById(Object id) throws EntityNotFoundException {
      return em.find(AclIdentity.class, id);
  }
  
  @Override
  public List&lt;AclIdentity&gt; findAll() {
      return findAllByType(AclIdentity.class);
  }
  
  @Override
  public void delete(AclIdentity entity) {
      // TODO Auto-generated method stub
  }
  
  @Override
  public void save(AclIdentity entity) {
      saveEntity(entity);
  }
  
  @Override
  public AclIdentity createNew(String sid, boolean principal) {
      AclIdentity identity = new AclIdentity(sid, principal);
      save(identity);
      return identity;
  }
  
  @Override
  public AclIdentity createNew(User entity) {
      return createNew(entity.getEmail(), true);
  }
  
  @Override
  public AclIdentity createNew(Group entity) {
      AclIdentity identity = createNew(GROUP_TEMP_NAME, false);
      identity.setSid(String.format(GROUP_NAME_PATTERN, identity.getId()));
      save(identity);
      return identity;
  }
  </code></pre>
  
  <p>}</p>