public void testis() {
Staff2 emp = new Staff2();
emp.setName("SFFF");
emp.setType("yyy");
emp.setDme(123);
emp.setIsActive("FFF");
ssiMasterValidationSearchCriteriaDaoImpl.save(emp);
}
private final static String SAVE_TO_DB="Insert into table1 (name,type,code,mne) values ('?','?','?','?')";
public void save(Staff2 employee){
Object result = getHibernateTemplateExt().uniqueResultBySQL(
SAVE_TO_DB,
new Object[] {
employee.getName(),
employee.getType(),
employee.getDme(),
employee.getIsActive()});
}
获取标题错误 那是
java.lang.IndexOutOfBoundsException:请记住,序数参数 基于1!在 org.hibernate.engine.query.ParameterMetadata.getOrdinalParameterDescriptor(ParameterMetadata.java:55) 在 org.hibernate.engine.query.ParameterMetadata.getOrdinalParameterExpectedType(ParameterMetadata.java:61) 在 org.hibernate.impl.AbstractQueryImpl.determineType(AbstractQueryImpl.java:397)
答案 0 :(得分:0)
将private final static String SAVE_TO_DB="Insert into table1 (name,type,code,mne) values ('?','?','?','?')";
更改为private final static String SAVE_TO_DB="Insert into table1 (name,type,code,mne) values ('?1','?2','?3','?4')";
并进行检查。
我还怀疑您的查询Insert into table1 (name,type,code,mne) values ('?','?','?','?')
包含与这些设置方法不同的字段
emp.setName("SFFF");
emp.setType("yyy");
emp.setDme(123);
emp.setIsActive("FFF");
例如setDme
字段名称应为dme
,但在查询中为mne