Tuesday, November 27, 2012

SQLite com Hibernate/JPA?


Neste artigo irei postar uma solução que é a integração entre o SQLite e o Hibernate/JPA

Mas afinal o que é SQLite?

SQLite é o banco de dados mais utilizado no mundo. Pensa em quantos dispositivos Androids e iOS encontrados no mercado?

Segundo a Wikipédia

"SQLite é uma biblioteca em linguagem C que implementa um banco de dados SQL embutido. Programas que usam a biblioteca SQLite podem ter acesso a banco de dados SQL sem executar um processo SGBD separado. SQLite não é uma biblioteca cliente usada para conectar com um grande servidor de banco de dados, mas sim o próprio servidor. A biblioteca SQLite lê e escreve diretamente para e do arquivo do banco de dados no disco."

Criei um projeto maven e está hospedado na seguinte url https://github.com/juniorware/sqlite-jpa

O propósito deste projeto e realizar uma prova de conceito entre o bando de dados SQLite e o Hibernate, com propósitos futuros de utilizá-lo como uma forma de utilizar TDD, ao invés de base dados relacionais aonde dificulta o ambiente de desenvolvimento.

O arquivo persistence.xml abaixo possui uma peculiaridade a classe SQLiteDialect, o dialeto do SQLite no Hibernate ainda não foi implementado, então é necessário criar um dialeto:



O dialeto SQLite para o Hibernate, pode ser visto a partir desta url:

https://github.com/juniorware/sqlite-jpa/blob/master/sqlite-jpa/src/main/java/com/blogspot/thedevside/util/SQLiteDialect.java

Este projeto por enquanto, só possui uma classe persistente irei criar outros tópicos para aprofundar mais o assunto.

Até a próxima :)



Wednesday, February 29, 2012

Como traduzir o componente Calendar para português no PrimeFaces 3

O Primefaces na sua versão 2.x já traduzia o calendário por padrão, porém no PrimeFaces 3 é necessário colocar estas configurações.

Criar um arquivo javascript e colocar o seguinte código:

PrimeFaces.locales['pt_BR'] = {
    closeText : 'Fechar',
    prevText : 'Anterior',
    nextText : 'Próximo',
    currentText : 'Começo',
    monthNames : [ 'Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho','Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro' ],
    monthNamesShort : [ 'Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago','Set', 'Out', 'Nov', 'Des' ],
    dayNames : [ 'Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta','Sábado' ],
    dayNamesShort : [ 'Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb' ],
    dayNamesMin : [ 'D', 'S', 'T', 'Q', 'Q', 'S', 'S' ],
    weekHeader : 'Semana',
    firstDay : 1,
    isRTL : false,
    showMonthAfterYear : false,
    yearSuffix : '',
    timeOnlyTitle : 'Só Horas',
    timeText : 'Tempo',
    hourText : 'Hora',
    minuteText : 'Minuto',
    secondText : 'Segundo',
    ampm : false,
    month : 'Mês',
    week : 'Semana',
    day : 'Dia',
    allDayText : 'Todo Dia'
};

e no componente do calendário colocar a seguinte valor em negrito na tag abaixo.

<p:calendar locale="pt_BR" showButtonPanel="true" navigator="true" id="ptCal"/>

Não esquecer de importar o javascript nas páginas que utilizaram o componente p:calendar do PrimeFaces ou se preferir colocar em um template.