Database Spring+Hibernate JPA问题
我正在尝试使用Hibernate和JPA/EntityManager来执行数据库活动 现在我得到了这个错误,我不知道这意味着什么 在我有这个代码之前,它工作得很好Database Spring+Hibernate JPA问题,database,hibernate,spring,jpa,Database,Hibernate,Spring,Jpa,我正在尝试使用Hibernate和JPA/EntityManager来执行数据库活动 现在我得到了这个错误,我不知道这意味着什么 在我有这个代码之前,它工作得很好 public class JdbcProductDao extends Dao implements ProductDao { /** Logger for this class and subclasses */ protected final Log logger = LogFactory.getLog(getClass());
public class JdbcProductDao extends Dao implements ProductDao {
/** Logger for this class and subclasses */
protected final Log logger = LogFactory.getLog(getClass());
public List<Product> getProductList() {
logger.info("Getting products!");
List<Product> products = getSimpleJdbcTemplate().query(
"select id, description, price from products",
new ProductMapper());
return products;
}
public void saveProduct(Product prod) {
logger.info("Saving product: " + prod.getDescription());
int count = getSimpleJdbcTemplate().update(
"update products set description = :description, price = :price where id = :id",
new MapSqlParameterSource().addValue("description", prod.getDescription())
.addValue("price", prod.getPrice())
.addValue("id", prod.getId()));
logger.info("Rows affected: " + count);
}
private static class ProductMapper implements ParameterizedRowMapper<Product> {
public Product mapRow(ResultSet rs, int rowNum) throws SQLException {
Product prod = new Product();
prod.setId(rs.getInt("id"));
prod.setDescription(rs.getString("description"));
prod.setPrice(new Double(rs.getDouble("price")));
return prod;
}
}
}
但是这段代码使用EntityManager
public class JdbcProductDao implements ProductDao {
/** Logger for this class and subclasses */
//protected final Log logger = LogFactory.getLog(getClass());
@PersistenceContext()
private EntityManager entityManager;
public JdbcProductDao(){
}
public Product getReference(Product product){
return getEntityManager().getReference(product.getClass(),product.getId());
}
public void persist(Product product){
getEntityManager().persist(product);
}
public EntityManager getEntityManager(){
return entityManager;
}
public void setEntityManager(EntityManager entityManager){
this.entityManager = entityManager;
}
@SuppressWarnings("unchecked")
public List<Product> getProductList(){
return getEntityManager().createNativeQuery("select id, description, price from products").getResultList();
}
public void saveProduct(Product product){
getEntityManager().createNativeQuery("update products set description = " + product.getDescription() + " , price = " + product.getPrice() + " where id = " + product.getId());
}
private static class ProductMapper implements ParameterizedRowMapper<Product> {
public Product mapRow(ResultSet rs, int rowNum) throws SQLException {
Product prod = new Product();
prod.setId(rs.getInt("id"));
prod.setDescription(rs.getString("description"));
prod.setPrice(new Double(rs.getDouble("price")));
return prod;
}
}
}
我得到的错误是java.lang.NumberFormatException:对于输入字符串:description
以前有没有人经历过类似的事情
编辑:
堆栈跟踪在下面
java.lang.NumberFormatException:对于输入字符串:description
java.lang.NumberFormatException.forInputStringNumberFormatException.java:48
java.lang.Integer.parseIntInteger.java:449
java.lang.Integer.parseIntInteger.java:499
java:153
java:45
java:54
org.apache.el.parser.AstValue.getValueAstValue.java:118
org.apache.el.ValueExpressionImpl.GetValueExpressionImpl.java:186
org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluagePageContextImpl.java:935
org.apache.jsp.WEB\u 002dINF.jsp.hello\u jsp.\u jspx\u meth\u c\u 005fout\u 005f1hello\u jsp.java:245
org.apache.jsp.WEB\u 002dINF.jsp.hello\u jsp.\u jspx\u meth\u c\u 005fforEach\u 005f0hello\u jsp.java:210
org.apache.jsp.WEB\u 002dINF.jsp.hello\u jsp.\u jspServicehello\u jsp.java:92
org.apache.jasper.runtime.HttpJspBase.serviceHttpJspBase.java:70
javaservlet.http.HttpServlet.serviceHttpServlet.java:717
org.apache.jasper.servlet.JspServletWrapper.serviceJspServletWrapper.java:374
org.apache.jasper.servlet.JspServlet.serviceJspFileJspServlet.java:342
org.apache.jasper.servlet.JspServlet.serviceJspServlet.java:267
javaservlet.http.HttpServlet.serviceHttpServlet.java:717
org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModelInternalResourceView.java:236
org.springframework.web.servlet.view.AbstractView.renderAbstractView.java:257
org.springframework.web.servlet.DispatcherServlet.renderDispatcherServlet.java:1183
org.springframework.web.servlet.DispatcherServlet.doDispatcherservlet.java:902
org.springframework.web.servlet.DispatcherServlet.doServiceDispatcherServlet.java:807
org.springframework.web.servlet.FrameworkServlet.processRequestFrameworkServlet.java:571
org.springframework.web.servlet.FrameworkServlet.doGetFrameworkServlet.java:501
javaservlet.http.HttpServlet.serviceHttpServlet.java:617
javax.servlet.http.HttpServlet.serviceHttpServlet.java:717查看stacktrace-与JPA无关,JSP中标记的属性中存在EL语法错误。请发布完整的stacktrace。