Olá amigos, acabei de fechar um tópico relacionado a minha JTable onde pegava os dados.
É o seguinte, eu peguei em minha table um campo onde armazenei em um array de Strings.
No meu caso o campo Itens Retirados eu guardei em um Strin[] itensRetirados.
Até ae tudo beleza... setei meu list
Mas como eu faço para salvar no BD um array de Strings com o Hibernate.
Ele está dando erro no mapeamento dizendo que é impossível fazer o cast de String para String[].
Os amigos tem alguma idéia de como eu posso fazer, estive olhando aqui no fórum e alguns amigos não aconselham gravar arrays de String no BD... qual seria a outra alternativa?
Modelo.hbm.xml<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 08/11/2011 09:34:52 by Hibernate Tools 3.2.1.GA -->
<hibernate-mapping>
<class name="Model.SaidaPatrimonio" table="saidapatrimonio" schema="public">
<id name="id" type="int">
<column name="id" />
<generator class="sequence">
<param name="sequence">church_saidapatrimonio_id_seq</param>
</generator>
</id>
<property name="dataRetirada" type="string">
<column name="dataretirada" />
</property>
<property name="descricaoPatrimonio" type="string">
<column name="descricaopatrimonio" />
</property>
<property name="idPatrimonio" type="java.lang.Integer">
<column name="idpatrimonio" />
</property>
<property name="itensRetirados" type="string">
<column name="itensretirados" />
</property>
<property name="nomePessoaPegou" type="string">
<column name="nomepessoapegou" />
</property>
<property name="quantidadeRetirada" type="long">
<column name="quantidaderetirada" />
</property>
</class>
</hibernate-mapping>
public Object[][] getAllItems(){
int row = getRowCount();
int col = getColumnCount();
Object[][] dados =new Object[row][1];
for(int i=0;i<row;i++){
dados[i][0] = getValueAt2(i, 0);
//dados[i][1] = getValueAt2(i, 1);
//dados[i][2] = getValueAt2(i, 2);
}
return dados;
}
public List<SaidaPatrimonio> getAllItems(){
Object[][] dados = model.getAllItems();
List<SaidaPatrimonio>list = new ArrayList();
SaidaPatrimonio s = new SaidaPatrimonio();
int tam = dados.length;
s.setNomePessoaPegou(txtNomePessoaPegou.getText());
String data = new SimpleDateFormat("dd/MM/yyyy").format(txtDataRetirada.getDate());
s.setDataRetirada(data);
String [] descricoes = new String [tam];
for(int i=0;i<tam;i++){//ver aqui que está dando o erro... usar o debug para ver os valores corretos
descricoes[i] = String.valueOf(dados[i][0]);
}
s.setItensRetirados(descricoes);
list.add(0, s);
return list;
}
Um forte abraço a todos!