Venho através deste compartilhar a ideia que tive em criar um Framework Java Open-source, esta ideia surgiu para otimizar o desenvolvimento dos projetos em que trabalhava, uma vez que muitos códigos nos projetos eram duplicados.
O JBC é um Framework de Controle da camada de Negócio para projetos Java, seu principal objetivo é otimizar o tempo de desenvolvimento que é usado para projetar códigos repetitivos, que por sua vez são muito frequentes quando se trata de controle de transação e persistência em banco de dados.
Notei que você engessou o seu projeto ao Hibernate. Acredito que seria melhor abrir seu projeto para qualquer framework ORM, assim, utilize os métodos da especificação JPA e não do Hibernate.
Legal pessoal, fico feliz que tenham gostado. Obrigado pelas sugestões, gostei da ideia de fornecer o projeto com suporte ao mavem, sugestão do kicolobo, como também a ideia de usar JPA ao invés do Hibernate
Parabéns pela iniciativa, é sempre bom ver o pessoal criando novos frameworks pra agilizar o processo de codificação…
Mas tenho uma pergunta…
Sou iniciante ainda e atualmente estou estudando tecnologias para Web, como JSF, Struts e o Spring. E notei que os conceitos do seu framework são parecidos com alguns conceitos do Spring…
Existe uma diferença notável entre seu framework e a parte do Spring que trata destes mesmos conceitos?
Não é crítica nem nada, e também não sei se você pretende fazer propaganda do seu produto pra posterior adoção em empresas de TI. Porém se você pretende divulgá-lo, acredito que precise ter um diferencial em relação aos produtos já consagrados no mercado, que servem para o mesmo propósito…
Não quero criticar, só quero saber mesmo quais são as suas perspectivas com esse projeto, fico feliz em ver frameworks brasileiros surgindo!
Um do benefícios do JBC em relação ao Spring, é que o Spring utiliza o padrão MVC e é necessário implementar as funcionalidades de CRUD, já o JBC encapsula todas essas funcionalidade de CRUD, não sendo necessário implementar operações CRUD simples, basta só utilizar, a não ser quando precisamos de uma lógica de negócio especial, como apresentei neste post no blog do JBC http://jbc-framework.blogspot.com.br/2012/09/reimplementacao-de-metodos-da-classe.html
O JBC é independente de plataforma, ou seja, pode ser usado tanto com J2EE, J2ME e J2SE
O objetivo de divulgar o JBC é compartilhar o conhecimento com a comunidade Java, a fim de agilizar o processo de desenvolvimento, como também ouvir sugestões e críticas para aperfeiçoar o Framework.
Na verdade o Spring fornece sim operações simples de CRUD já implementadas, onde você pode apenas invocar os métodos e passar o objeto a ser persistido como parâmetro. Para isso, basta usar as APIs disponíveis no Spring, como JpaTemplate, HibernateTemplate ou mesmo JdbcTemplate.
Concordo contigo romarcio, o Spring fornece as API que tem funcionalidades similares, mas o grande objetivo do JBC é ser simples, uma vez que o spring necessita de alguns mapeamentos xml, e o desenvolvedor necessita ter esse conhecimento para desenvolver, ou seja, o JBC encapsula tudo isso, de forma simples para ser usado pelo desenvolvedor, deixando que a preocupação fique voltada apenas para as anotações JPA e a camada de visualização
Estive estudando a API JPA para relaizar a troca no JBC pelo Hibernate, então gostaria de uma ajuda de vocês.
Teria um código similar ao hibernte (código abaixo) no JPA, onde para fazer uma pesquisa em uma entidade, basta passar a entidade como filtro e tendo o retorno a lista de objetos?
org.hibernate.Session session = ....;
org.hibernate.Criteria criteria = session.createCriteria(entity.getClass())
org.hibernate.criterion.Example example = org.hibernate.criterion.Example.create(filter)
criteria.add(entity);
List lista = criteria.list();
Gostaria de saber se o JPA tem uma API como o Example, onde não seja necessário fazer JPQL.
Sim, eu cheguei a ver este código. Deixe eu me expressar melhor:
[code]
EntityManager em = …;
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery cq = cb.createQuery(Pet.class);
Metamodel m = em.getMetamodel();
EntityType Pet_ = m.entity(Pet.class);
Root pet = cq.from(Pet.class);
cq.where(cb.equal(pet.get(Pet_.name), “Fido”))[/code]
Perceba o código da última linha, ele é estatico, já no hiberante é só relacionar o entity ao Example e adicionar no critéria e pronto, a consulta é realizada. Queria saber se tem uma maneira de realizar esta busca no JPA de forma genérica.