我正在尝试在Spring 3.0 ORM中使用JPA 2.0.JPA供应商是Hibernate 3.5.0-Beta-3.
它适用于JPQL,但是当我尝试使用CriteriaQuery时,会发生异常:
java.lang.ClassCastException:$ Proxy50无法转发到com.absorbx.retailx.dao.impl.ShopDaoImpl.findByCrieria(ShopDaoImpl.java:30)的$ Proxy38.createQuery(未知来源)的javax.persistence.TypedQuery. solar.retailx.dao.SimpleDaoTest.testFindByCriteria(SimpleDaoTest.java:39)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown)资源)
该DAO代码:
@Repository
public class ShopDaoImpl implements
ShopDao {
@PersistenceContext
transient EntityManager entityManager;
@Override
public Shop findByCrieria() {
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery<Shop> c = cb.createQuery(Shop.class);
Root<Shop> shop = c.from(Shop.class);
c.select(shop).where(cb.equal(shop.get("name"), "petstore"));
TypedQuery<Shop> q = entityManager.createQuery(c);
return q.getSingleResult();
}
}
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
在一些JSP页面中,我想要页面显示
<h4>${id}</h4>
Run Code Online (Sandbox Code Playgroud)
但是,EL将尝试评估"id"变量并将其留空(找不到变量)或实际值.
<h4>123</h4>
Run Code Online (Sandbox Code Playgroud)
我知道有一个
<%@ page isELIgnored="false" %>
Run Code Online (Sandbox Code Playgroud)
但这将禁用整个JSP页面的EL.
有没有办法只为少数几行禁用EL?
谢谢大家,我也写了一篇关于此的帖子. http://www.ke-cai.net/2010/12/jquery-template-markup-and-jsp.html