Coisa.java
@Entity
public class Coisa implements Serializable {
@id
private int id:
private String descricao;
...
DaoGenerico.java
public interface DaoGenerico<T, ID extends Serializable> {
public Class<T> getObjectClass();
public T crud(T object);
}
DaoGenericoImpl.java
public class DaoGenericoImpl<T, ID extends Serializable> implements DaoGenerico<T, ID> {
@PersistenceContext
private EntityManager em;
private final Class<T> oClass;
public DaoGenericoImpl() {
oClass = (Class<T>) ( (ParameterizedType) getClass().getGenericSuperclass() ).getActualTypeArguments()[0];
}
public T crud(T object) {
em.crud();
}
SessionBean.java
Nao vou colocar a interface para nao alongar, ok?
@Stateless
public class SessionBean implements SessionRemote {
public DaoGenerico<T, ID> getDaoGenerico() {
return new DaoGenericoImpl<T, ID>();
}
Isso seria o pacote do modelo da aplicacao. A visao seria outro pacote que poderia ser swing ou web e o controle estaria nesses dois pacotes. Esse modelo é valido?
Fico grato pelos comentarios
Thiago Moreno