Lançado Mentawai 1.8

Várias melhorias nessa versão, das quais podemos destacar a validacão e autorização dinâmicas, suporte a String ids para as listas (antes só podia inteiro), migração do código do framework para Java 5 com refactoring para incluir generics e o HibernateFilter em modo transacional. Obrigado a todos que colaboraram com feedback e sugestões!

http://www.mentaframework.org/

Lista completa de mudanças aqui:

Você não precisa abrir uma transação com o Hibernate a cada sessão utilizada. Embora o exemplo dado pelo C. Bauer mostre uma transação sendo aberta para uma operação read-only, aquele exemplo apenas ilustra o potencial da ferramenta em si (algo como "hey! se você quiser abrir uma transação para uma operação read-only, está tudo bem! O hibernate permite! :slight_smile: ") e não é uma recomendação ou boa prática. Acho que seria interessante vocês revisarem este HibernateFilter ou, pelo menos, permitir que o usuário escolha a maneira de lidar com transações (mesmo porque, se eu quiser usar Container Managed Transaction Demarcation, teria que deixar que o meu contexto transacional (JTA) cuidasse do fluxo da minha transação, certo?).

O modo transacional é totalmente opcional, ou seja, vc escolhe se quer usar ele ou não passando uma boolean para o construtor do HibernateFilter. O default é para não usar, ou seja, vc mesmo controla como quer fazer as transações. Nada te impede também de usar o TransactionFilter (com ou sem o modo transacional do HibernateFilter) para deixar a sua action atomica e melhor controlar em que situações um rollback ou commit irão acontecer.

Se não é uma recomendação ou boa prática, então eles não deveriam ter dado isso como exemplo, ainda mais no HelloWorld. Já vi em diversos outros lugares exemplos onde é recomendado transação para tudo no hibernate, até para select, como foi o caso do exemplo em questão. Parece que eles realmente recomendam transaçao para tudo, até para SELECT, quando na teoria uma transação deveria ser exceção e não regra. Mais sobre isso aqui: http://www.guj.com.br/posts/list/50471.java

O ideal é usar o HibernateFilter sem modo transacional, o que é o default de qualquer maneira. Mas se por algum motivo vc quiser ou tiver que fazer uma transaçao para TUDO, o modo transacional vai facililtar isso…

As mudanças, realmente, foram boas…

Sobre o hibernate, volto a falar: foi somente um exemplo para mostrar o poder.

Acredito que não tenha perda ou ganho de desempenho, significativo, com o uso ou sem o uso de transação no read-only.

Mas acho que não seja necessário…

[]'s!

experiMENTA!

Na minha opinião fazer uma coisa desnecessária e meio sem sentido não é demonstração de poder…

Ninguem questiona o poder do Hibernate. A questão é que para coisas simples ele acaba sendo complexo…

Dale MENTA!!! :smiley:

[quote=saoj]Na minha opinião fazer uma coisa desnecessária e meio sem sentido não é demonstração de poder…
Ninguem questiona o poder do Hibernate. A questão é que para coisas simples ele acaba sendo complexo…[/quote]

christian@hibernate.org :wink:

(sem querer…)

Tinha que ser vascaino! rs… vim achando que tinha novidade no Mentawai.