Fórum Desenvolver uma aplicação JavaEE utilizando um banco de dados FireBird já existente #385724
06/09/2010
0
Gostaria de saber como posso começar uma aplicação Java EE 6, utilizando este BD (criar a conexão, utilizar as tabelas já existentes para criar as classes de entidade, e se posso usar o arquivo security.fdb para fazer a autentificação dos usuários).
Desde já agradeço a atenção...
Davi Lima
Davi Lima
Curtir tópico
+ 0Posts
06/09/2010
Henrique Weissmann
Gostei + 0
06/09/2010
Davi Lima
Pensei em usar Java EE 6 e BD MySQL, mas como o banco de dados esta pronto gostaria de reaproveitar o que uso aqui (FireBird). . . . mas sou novato em Java, estou começando a aprender JSF agora, até estou seguindo um modelo de aplicativo da Java Magazine 80,81,82 para aprender um pouco mais... por isso preciso de ajuda...
Gostei + 0
06/09/2010
Henrique Weissmann
Pra começar portanto, o primeiro passo é tentar ignorar ao máximo possível o modo como trabalha com Delphi. Por um momento finja que interface gráfica é algo que não existe (incluindo componentes não visuais, como os de conexão do Delphi, principalmente) e passe a pensar apenas na camada de modelo.
Para a camada de modelo, visto que quer trabalhar com JEE, a primeira coisa que precisa conhecer é o JPA (Java Persistence API). Esta é, como o próprio nome já diz, a camada responsável por mapear os atributos das suas classes aos campos presentes na base de dados.
Eu sei que é muita sigla para quem está iniciando na tecnologia, porém recomendo que, antes de começar a lidar com o JPA, tenha o mínimo de conhecimento a respeito da camada em cima do qual o JPA é construído. No caso, estou falando do JDBC. A DevMedia possui um curso introdutório sobre esta tecnologia, que pode ser acessado neste link: https://www.devmedia.com.br/cursos/java/190-Introducao-ao-JDBC.html
Não precisa ser um expert em JDBC: apenas o conhecimento básico para que a compreensão do JPA se torne mais clara. Bom: conhecendo o JDBC, já é hora de partir pro JPA. Novamente, há um curso da DevMedia que vai te ajudar a clarear as idéias: https://www.devmedia.com.br/cursos/java/192-Desenvolvendo-uma-aplicacao-completa-com-JPA.html
O fundamental, inicialmente Davi, é que trabalhemos apenas com a camada de modelo para posteriormente escolhermos qual a melhor solução de interface do seu sistema. EJB, Web, Desktop, etc. Como você verá, muito provávelmente o EJB se mostrará para você como um "canhão para matar formigas". Digo isto porque em 90% dos casos nos quais trabalhei, um bom modelo desenvolvido na plataforma Java SE mesmo, somado a uma interface web (usando JSF ou algum outro framework web) ou swing dá conta (e muito bem) do recado.
Como extra: visto que você irá trabalhar com Firebird, é importante ter o driver de acesso, que pode ser baixado neste link: http://www.firebirdsql.org/index.php?op=files&id=jaybird
Gostei + 0
19/09/2010
Davi Lima
Gostei + 0
27/09/2010
Henrique Weissmann
não é que você seja preguiçoso, é que todo mundo tinha preguiça de trabalhar com o JEE antes do 5, que era MUITO burocrático. :D Realmente, você tem razão, as coisas melhoraram demais de lá pra cá, não é mesmo?
Fico também feliz que sua saúde esteja recobrada. Que Deus mantenha!
Bom: observei algumas coisas aqui.
1. Você não precisa dos arquivos jaybird-pool-2.1.6.jar e jaybird-2.1.6.ja. O conteúdo destes já está presente no jaybird-full-2.1.6.jar. Sendo assim, pode removê-lo do seu projeto, mesmo que seja por via das dúvidas, pois a mesma classe repetida no classpath pode gerar problemas imprevistos ok?
2. O erro que você está tendo. Vejo algumas opções pra ela.
a ) a remoção dos arquivos acima já resolveu seu problema
b ) será que não tem nenhum caractere acentuado na sua configuração? Ocorrem situações nas quais a instrução encoding do xml é uma, mas o encoding do arquivo em si é outro. Verifique isto.
Caused by: java.util.regex.PatternSyntaxException: Unknown character property name near index 67
c) Como está configurada a conexão com o banco de dados? Tem como você me passar estas configurações por aqui? Assim a gente pode dar uma olhada e ver o que da pra fazer ok?
Peço desculpas pela minha demora também, que não mais se repetirá.
Grande abraço e aguardo seu retorno.
Gostei + 0
20/10/2010
Devmedia
por falta de retorno estamos encerrando o chamado. Caso vc ainda tenha dúvidas sobre o assunto tratado, é só postar uma nova mensagem e o consultor voltará a lhe atender.
Gostei + 0
20/10/2010
Davi Lima
Gostei + 0
20/10/2010
Henrique Weissmann
Gostei + 0
20/10/2010
Henrique Weissmann
1. Obtenha o código da filial
2. No banco de dados, busque o número de registros relacionados a esta filial.
3. Concatene o resultado: Supondo que seja primeiro o código da filial (que terá um número x de digitos) e o restante o número do registro (n - x digitos) (supondo n = número de digitos)
Você pode usar a classe java.text.DecimalFormat para isto, tal como no exemplo abaixo:
DecimalFormat formatoDecimalFilial = new DecimalFormat(000); // supondo 3 digitos para a filial
DecimalFormat formatoRegistro = new DecimalFormat(000000000000); // supondo 12 digitos para o registro
String codigo = formatoDecimalFilial.format(codigoFilial) + formatoRegistro.format(numRegistrosDaFilial + 1);
Isto já te ajuda?
Nota: editei o chamado para torná-lo mais legível.
Gostei + 0
21/10/2010
Davi Lima
Gostei + 0
21/10/2010
Davi Lima
Gostei + 0
24/10/2010
Henrique Weissmann
Você postou:
>> javax.el.PropertyNotFoundException: /index.xhtml @23,122 value="#> {loginController.nomeBanco}": Target Unreachable, identifier 'loginController' resolved to null isso é o que esta retornando quando faço o login
Verifique no seu arquivo faces-config.xml se há um managed bean cadastrado com o nome loginController. Normalmente este erro acontece quando escrevemos errado o nome do managed-bean.
Sobre a auditoria, tenho uma sugestão. Há um problema com o modelo que você está descrevendo, que pode ser resumido em uma pergunta: como auditar o histórico de alterações de um registro?
Pelo que vocẽ me descreveu, em cada tabela há um campo contendo o valor que identifica o usuário responsável pela criação do registro. Sendo assim, vamos imaginar uma tabela chamada filial, na qual há os seguintes campos:
Id (chave primária da tabela)
Nome (o nome da filial)
idUsuario (o identificador do usuário que alterou o registro).
No primeiro momento, em que o registro é inserido no banco de dados, você saberá quem inseriu o registro. Mas suponha que no futuro algum outro usuário edite este registro. Ao ser editado, o campo idUsuario terá de ser alterado para dizer quem foi o usuário que fez esta alteração, apagando o valor anterior e, consequentemente, o histórico de alterações.
Minha sugestão para você é a seguinte: crie uma tabela auxiliar, com a estrutura abaixo:
idRegistro -> O id do registro que está sendo auditado
idUsuario -> O id do usuário que está executando a ação
data (datetime) -> a hora emq ue o registro foi alterado
A cada alteração do registro, seja ela inclusão ou edição, vocẽ incluirá um novo registro nesta tabela. Consequentemente, teŕa o histórico completo de alteração dos registros no seu banco de dados. Para saber quando o registro foi incluido, é fácil: basta buscar a menor data na tabela cujo id do registro seja o que você está buscando.
O que me diz?
Gostei + 0
26/10/2010
Davi Lima
Gostei + 0
27/10/2010
Davi Lima
Gostei + 0
28/10/2010
Henrique Weissmann
public class Lanca implements java.io.Serializable
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)