Java 休眠错误:HH000091
我刚开始冬眠。我的目标是将查询结果获取到ArrayList,但我不断得到错误:hh000091:预期类型:int,实际值:org.hibernate.collection.internal.PersistentSet 我坚信问题出在我的地图上,任何帮助都将不胜感激 错误 错误:HH000123:类中存在IllegalArgumentException:com.mycompany.mavenproject1.Medicamento,属性的setter方法:labJoin 2017年4月7日上午10:23:10 org.hibernate.property.BasicPropertyAccessor$BasicSetter 错误:HH000091:预期类型:int,实际值:org.hibernate.collection.internal.PersistentSet 我的HQL查询:Java 休眠错误:HH000091,java,hibernate,Java,Hibernate,我刚开始冬眠。我的目标是将查询结果获取到ArrayList,但我不断得到错误:hh000091:预期类型:int,实际值:org.hibernate.collection.internal.PersistentSet 我坚信问题出在我的地图上,任何帮助都将不胜感激 错误 错误:HH000123:类中存在IllegalArgumentException:com.mycompany.mavenproject1.Medicamento,属性的setter方法:labJoin 2017年4月7日上午10
from Medicamento as m left join from Laboratorio as l where l.codigoLab=m.codigoLab
映射XML:
<class name="com.mycompany.mavenproject1.Medicamento" table="MEDICAMENTO" schema="ADMINFARMACIA" optimistic-lock="version">
<id name="codigoMed" type="long">
<column name="CODIGO_MED" not-null="true"/>
<generator class="assigned" />
</id>
<property name="nombreComercial" type="string">
<column name="NOMBRE_COMERCIAL" length="100" not-null="true" />
</property>
<property name="codigoPrincipio" type="string">
<column name="CODIGO_PRINCIPIO" length="50" not-null="true" />
</property>
<property name="stockMinimo" type="java.lang.Integer">
<column name="STOCK_MINIMO" />
</property>
<property name="codigoLab" type="java.lang.Integer">
<column name="CODIGO_LAB" />
</property>
<property name="comentario" type="string">
<column name="COMENTARIO" length="1000" />
</property>
<property name="existencias" type="java.lang.Integer">
<column name="EXISTENCIAS"/>
</property>
<set name="labJoin" fetch="join">
<key column="CODIGO_LAB" />
<one-to-many class="com.mycompany.mavenproject1.Laboratorio"/>
</set>
</class>
java-在这一个labJoin和labName是“Laboratorio”表上的字段
}
调用方法
private void displayResult(List rl){
ArrayList<Object> oneRow = new ArrayList<Object>();
for (Object o: rl){
Medicamento medList = (Medicamento)o;
System.out.println(labList.getCodigoLab());
oneRow.add(medList.getCodigoMed());
oneRow.add(medList.getExistencias());
oneRow.add(medList.getNombreComercial());
oneRow.add(medList.getLabJoin());
}
LowStockTableModel model = new LowStockTableModel(oneRow);
try{
jTable1.setModel(model);
}
catch (Exception e){
JOptionPane.showMessageDialog(null, e.getLocalizedMessage(),"Error",JOptionPane.ERROR_MESSAGE);
jTextField1.setText("");
}
}
private void displayResult(列表rl){
ArrayList oneRow=新的ArrayList();
用于(对象o:rl){
药物列表=(药物)o;
System.out.println(labList.getCodigoLab());
add(medList.getCodigoMed());
add(medList.getExistencias());
add(medList.getnombrecomeral());
add(medList.getLabJoin());
}
LowStockTableModel=新的LowStockTableModel(oneRow);
试一试{
jTable1.setModel(model);
}
捕获(例外e){
showMessageDialog(null,例如getLocalizedMessage(),“Error”,JOptionPane.Error\u消息);
jTextField1.setText(“”);
}
}
在映射中,您有
<set name="labJoin" fetch="join">
<key column="CODIGO_LAB" />
<one-to-many class="com.mycompany.mavenproject1.Laboratorio"/>
</set>
但是属性labJoin的类型为int。此属性的类型必须为Set
private void displayResult(List rl){
ArrayList<Object> oneRow = new ArrayList<Object>();
for (Object o: rl){
Medicamento medList = (Medicamento)o;
System.out.println(labList.getCodigoLab());
oneRow.add(medList.getCodigoMed());
oneRow.add(medList.getExistencias());
oneRow.add(medList.getNombreComercial());
oneRow.add(medList.getLabJoin());
}
LowStockTableModel model = new LowStockTableModel(oneRow);
try{
jTable1.setModel(model);
}
catch (Exception e){
JOptionPane.showMessageDialog(null, e.getLocalizedMessage(),"Error",JOptionPane.ERROR_MESSAGE);
jTextField1.setText("");
}
}
<set name="labJoin" fetch="join">
<key column="CODIGO_LAB" />
<one-to-many class="com.mycompany.mavenproject1.Laboratorio"/>
</set>