Discussões, soluções e outros bichos

Nem muito normal, nem muito estranho. Apenas diferente!

Subscribe to RSS feed

Voto de apoio a Carlos Nascimento

,

Importantissimo e muito valioso comentário.
Passou da hora da população viver discutindo suas amenidades como se fossem coisas relevantes, o primeiro passo para termos um país melhor é nós tornando pessoas VERDADEIRAMENTE melhores, e atualmente o que nós é ofertado pela televisão e Internet tem sido de uma mediocridade imensuravel, mas só tem tido espaço, pois a absorção é instantanea por uma grande parcela do publico.


http://www.youtube.com/watch?v=t9O45Pfl3wc&feature=player_embedded

Hibernação

, ,

Depois de um longo tempo hibernando (sugestivo...) volto a postar algo.

Necessitei executar uma query nativa numa aplicação com Hibernate, porém o resultado trazidos do campos char era apenas a primeira letra! Utilizo Sybase...

Fiz uma pesquisa e encontrei algumas soluções como as abaixo:
https://forum.hibernate.org/viewtopic.php?f=1&t=960949
https://forum.hibernate.org/viewtopic.php?f=1&t=966929

O problema é causado por uma dificuldade de se manipular o tipo CHAR, não me aprofundei muito, mas com isso em mente pensei: se o problema é com esse tipo, o que acontece se converter para VARCHAR?!
Testei e acontece que FUNCIONA!

Então, acredito que o mais simples nesse caso seria:
SELECT CONVERT(VARCHAR(255), {campo}) AS {alias}...


Não é muito bonito, mas é tão estranho quanto as referências que encontrei e menos ridículo que o uso de query nativa.

Grande abraço!

Os novos velhos ares...

,

Antes de tudo, nao tem nada haver com o Ares... Ele agora tem uma bolinha e nao quer papo...

Mudei de emprego, mudança sempre é bem vinda, mesmo que seja uma mudança para onde já se esteve...

Por mais mercenário que pareça, trabalho por dinheiro, diversão não tem nada a ver com meus objetivos profissionais, o dinheiro do trabalho paga minha diversão.

Provavelmente haverá uma mudança nas coisas que conseguir postar aqui de volta, afinal estou mexendo com Delphi e Sybase agora... Java só se aparecer uns freela e olhe lá!

Fire! And Hell! Eum pouco de deploy...

, ,

E mais um dos posts que escrevo e não sei que dia irei postar...
Pois bem, o problema agora é deploy de uma aplicação Maven usando Eclipse + WTP em um servidor Weblogic 10.3.4 (possivelmente o problema se apresente no JBoss, dependendo do tempo que levar, confiro isso também).

Existem diversos erros que podem ser enumerados, mas dois que persistiram foram:

1. Error with publish task 'Split Source Mapping Generation Task'. Resource '/<aplicação>-ear/target/m2e-wtp/ear-resources' does not exist.

2. Runtime exception occurred in publish task 'Split Source Mapping Generation Task'. org.eclipse.wst.common.componentcore.internal.resources.VirtualArchiveComponent cannot be cast to org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualArchiveComponent

O projeto compilava (usando o m2) gerava os targets corretamente (no ear deve estar marcada as opções do WTP: clica com o botão direito em cima do projeto -> Properties -> Maven -> WTP Integration -> Enable Project Specific Settings -> Generate application.xml under the build directory), porém os erros persistiam.

Então achei uma referência que permitiu que as coisas funcionassem e abaixo o que eu fiz (ambiente Windows):

1. Baixei o Multi Project Import/Export Plugin: http://sourceforge.net/projects/eclipse-tools/files/projecttransfer/v1.0.6/
1.1. Descompactei e recortei colando no diretório do Eclipse. Alternativamente pode ser usado o download através do Update do próprio Eclipse [http://eclipse-tools.sourceforge.net/updates/], mas estava demorando muito.
2. Com o command entrei na raiz do meu projeto e digitei: mvn eclipse:eclipse install
3. Abri o Eclipse e importei meu projeto usando o Multi Project Import/Export
4. Executei os goals "clean package" no projeto
5. Inciei o Weblogic
6. Fiz deploy
7. Fiquei feliz

Boa srote a todos!

Fonte: http://maven.apache.org/plugins/maven-eclipse-plugin/examples/multi-module-projects.html

[Consegui postar quase um mes depois que escrevi!]

p:dataTable em várias p:Tab

, , ,



[Postar qualquer coisa no blog tem sido uma tarefa pra leão... Nem Internet tenho em casa!].
Certo, depois de um longo inverno (humm... it's sounds familiar...) achei algo interessante a compartilhar...

A tempos atrás comecei a mexer com PrimeFaces 3.0.M1 (comecei usando o 2.2 e devido a alguns problemas atualizei a versão - e tive problemas novos). E ontem tive um problema MUIIIIITTTTOOOOO chato.




Descrição do problema
Possui um cadastro mestre/detalhe que está em duas abas de uma p:tabView. Em ambas as abas existe uma p:dataTable. Se eu populasse os dados da p:dataTable mestre, cujo bean possui uma lista do detalhe, ao mudar de aba, uma exceção era lançada "Property <nome> not found on type org.hibernate.collection.PersistentSet".

Codigo do mestre
public class Mestre
{
	private Integer id;
	private Set<Detalhe> detalhes;

	public Integer getId()
	{
		return id;
	}

	public void setId(Integer id)
	{
		this.id = id;
	}
	
	public Set<Detalhe> getDetalhes()
	{
		return detalhes;
	}

	public void setDetalhes(Set<Detalhe> detalhes)
	{
		this.detalhes = detalhes;
	}
}

Codigo do detalhe
public class Detalhe
{
	private Integer id;
	private Mestre mestre;

	public Integer getId()
	{
		return id;
	}

	public void setId(Integer id)
	{
		this.id = id;
	}
	
	public Mestre getMestre()
	{
		return mestre;
	}

	public void setMestre(Mestre mestre)
	{
		this.mestre = mestre;
	}
}


Mapeamento do mestre
<hibernate-mapping>
	<class lazy="false" name="br.com.exemplo.metredetalhe.model.Mestre"
		table="MESTRES">
		<id name="id" type="java.lang.Integer" unsaved-value="null" column="id">
			<generator class="sequence">
            	<param name="sequence">SEQ_ID_MESTRES</param>
         	</generator>
		</id>
		
		<set name="detalhes" lazy="false" inverse="true">
			<key column="ID_MESTRES"/>
			<one-to-many class="br.com.exemplo.metredetalhe.model.Detalhe"/>
        </set>
	</class>
</hibernate-mapping>


Código do Managed Bean
@ManagedBean(name="cadastroMestreDetalheScreen")
@ViewScoped
public class CadastroMestreDetalheScreen
{
	private Mestre mestre;
	private Detalhe detalhe;
	
	...
}


A principio eu buscava os dados diretamente no Set do mestre, assim:
value="#{cadastroMestreDetalheScreen.mestre.detalhe}"


Porém, bastava pesquisar pelo mestre e trocar de aba que a exceção era disparada. Então resolvi criar uma lista no Managed Bean para tratar dessa p:dataTable, ficando:

Novo código do Managed Bean
@ManagedBean(name="cadastroMestreDetalheScreen")
@ViewScoped
public class CadastroMestreDetalheScreen
{
	private Mestre mestre;
	private Detalhe detalhe;
	private ArrayList<Detalhe> listaDetalhes;
	...
	
	SuppressWarnings("unchecked")
	public ArrayList<Detalhe> getListaDetalhes()
	{
		if((this.mestre.getDetalhes() != null) &&
		   (this.mestre.getDetalhes().size() > 0))
			this.listaDetalhes = (ArrayList<Detalhe>)this.mestre.getDetalhes();
		return listaDetalhes;
	}
}


Novo código do xhtml
value="#{cadastroMestreDetalheScreen.listaDetalhes}"


Isso resolveu o problema! Agora porque isso? Porque o p:dataTable, que utiliza um DataModel, não suporta o Set, então fiz um cast para
ArrayList na camada de visualização, afinal de contas, no restante da aplicação não tenho problemas usando Set.
Lembrando-se que se utilizar annotations ou a tag <list> para mapear o atributo o problema não deve ocorrer.

Grande abraço!

E o mais novo membro da família: O Hércules!

, ,

Olá, novo post, novos integrantes!

Sábado, minha esposa e eu saímos para comprar VER um cachorro, acabamos COMPRANDO um passarinho, um Diamante de Gould (Chloebia Gouldiae).



Muito engraçado. Faz micagens dentro da gaiola, se torce todo e pula pra lá e pra cá. Mas por alguns momentos acho que é meio carrancudo, descobri que é da espécie não cantar direito - e baixo! - o pior é se tentar mexer nele, afasta o corpo sem sair do lugar, se insistir, bica!

Li diversos sites (como o avedomestica.com e o clubedocriador.com) e cheguei no seguinte cardápio para o Hércules.

Mistura de sementes
70% painço
30% alpiste

Farinhada (fiz meia receita, só tenho um passarinho!)
500g de farinha de rosca
7 colheres de Neston
5 colheres de Farinha Láctea
4 colheres de germe de trigo
3 colheres de aveia em flocos - usei em pó que eu já tinha em casa
1 colher de pré mix
1 colher de fosfato bicalcico

A princípio, não havia chego o pré mix e não achei fosfato bicalcico. Mas fiz a mistura assim mesmo e dei para ele comer. A princípio ficou meio assim, não chegava perto, em compensação um dia depois comia que é uma beleza!

Nessa mistura, coloquei meio ovo cozinho - a outra metade comi temperado com sal e pimenta - cozinhei o ovo e piquei ele no liquidificador, misturei tudo e guardei. No caso eu dou um ovo por semana para ele, deixo uma mistura separada (5 colheres).
Dizem que é bom um tubo de Penavit plus por kg de farinhada. Mas como ele ainda não está trocando de penas, não experimentei.

Estou aguardando a chegada do comedouro com dois compartimentos. Por hora misturo tudo (sementes e farinhada) e deixo para ele comer.

Verduras
Almeirão
Chicória
Espinafre

Dou para ele essas verduras na segunda / quarta / sexta.

Isso que rendeu nosso passeio de sábado. E o cachorro? É um post pra daqui a um mês!
Abraços!

Pirâmide de Maslow

,

Mais uma colaboração do meu brother Rafael...

February 2012
M T W T F S S
January 2012March 2012
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29