【发布时间】:2018-10-05 12:36:58
【问题描述】:
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)
【问题讨论】:
-
更改私有最终静态字符串 SAVE_TO_DB="插入 table1 (name,type,code,mne) 值 ('?','?','?','?')"; to private final static String SAVE_TO_DB="插入 table1 (name,type,code,mne) 值 ('?1','?2','?3','?4')";
标签: hibernate