我正在用 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;
}
}