1

我正在用 jsf 开发一个 Web 应用程序

我有这些课程

抽象的:

  • 存储库库
  • ManagedBeanCRUD
  • 实体库

课程:

  • 客户端扩展 EntityBase
  • ClientRepository 扩展 RepositoryBase
  • ClientManagedBean 扩展了 ManagedBeanCRUD

但是我无法在 ManagedBeanCRUD 上实现保存方法

在这个方法中我需要一个存储库,所以我有一个 RepositoryBase rep = repositoryfactory.getFactory((entity.getClass()));

我尝试以多种方式实现repositoryFactory,但仍然没有成功。

任何人都知道我怎么能做到这一点???

先感谢您

public class  ManagedBeanCRUD < T extends EntityBase> () {
   protected T newEntity;

   public void save() {      
    Repositoryfactory factory =  new Repositoryfactory();
    RepositoryBase<T> rep = factory.getFactory((entity.getClass()));
    rep.persiste(newEntity);
  }
}


public class FactoryRepository < T extends EntityBase> () {

public RepositoryBase<T> getFactory(Class newEntity) {
    if(newEntity == Client.class) {
         return new ClientRepository();
    } else {
        System.out.println("error");
    }
}
}

public class ClientManagedBean extends CRUDBean<Client> {

private static final long serialVersionUID = 1L;
private Clietn client = new Client();

public void setSalve(){
    this.setNewEntity(this.client);
    this.salvar();
    this.client = new Client();
}

}

公共类 ClientRepository 扩展 RepositoryBase{

@Override
protected Class<Client> getRuntimeClass() {
    return Client.class;
}

}

4

0 回答 0