我正在尝试为我的JSF数据表实现延迟加载,我的应用程序正在使用JSF2.0。Spring3和冬眠4。
我有以下的道
@Override
public int getRequestCount() {
Query query = entityManager.createNamedQuery("Request.count");
return ((Long) query.getSingleResult()).intValue();
}
在ManagedBean中,我有
@Named("reqMB")
@Scope("request")
public class RequestManagedBean implements Serializable {
// other code .....
lazyModel.setRowCount(getRequestService().getRequestCount());
....
return lazyModel;
在实体类中
@Entity
@Table(name = "V_REQUESTS")
@NamedQueries({
@NamedQuery(name = "Request.count", query = "SELECT COUNT(r) FROM <viewname> r")
})
public class Request {
我面临的问题是,当我尝试将我的应用程序部署到weblogic 10.3.6时,我得到以下异常。
Error creating bean with name 'requestDAOImpl': Injection of
autowired dependencies failed; nested exception is
org.springframework.beans.factory.BeanCreationException: Could not
autowire field: private org.hibernate.SessionFactory
net.test.request.dao.RequestDAOImpl.sessionFactory; nested exception is
org.springframework.beans.factory.BeanCreationException: Error creating
bean with name 'SessionFactory' defined in ServletContext resource
[/WEB-INF/applicationContext.xml]: Invocation of init method failed;
nested exception is org.hibernate.HibernateException:
Errors in named queries: Request.count
如何解决此问题?
另一点是,除了使用以下内容之外,还有其他方法可以获取用于延迟加载的行计数吗?
@NamedQueries({
@NamedQuery(name = "Request.count", query = "SELECT COUNT(r)
FROM vw_request r")})
谢谢
我已经设法解决了这个问题,我犯的错误是我使用了实际的视图名而不是类名,所以我改成了
@NamedQuery(name = "Request.count", query = "SELECT COUNT(r) FROM Request r").
我的另一个疑问是没有使用上面的方法来获取行计数,我已经修改了我的DAO如下,这样我就不需要在Entity类中使用@NamedQuery。
int count = ((Long)sessionFactory.getCurrentSession().createQuery("select count(*)
from Request").uniqueResult()).intValue();
这是我在Stack Overflow上的第一篇文章。在发布之前,我研究了很多。在我使用Java Primefaces的系统中,我使用普通的SQL。我在第三个企业项目中,我更喜欢这种方式。 我找不到任何使用普通SQL的例子,只有使用框架(JPA等) 我知道在数组列表中我会手动传递限制。选择... from... ORDER BY... LIMIT 但是我需要一个完整的例子,使用数据库(不是内存中的静
在我的JSF的数据中,我已经实现了延迟加载,当我分页通过记录时,执行下一组记录需要大约4到5秒钟的时间,实际上执行结果应该不到一秒钟。 这种情况发生在我实现它的方式上,我不知道如何解决这个问题。 扩展LazyDataModel的DataModel类 在道课上 有人能解释一下是什么原因导致了这些记录分页的延迟吗? 如果我删除以下内容 并执行,然后它是完全执行没有延迟,然而问题是总是5,这是我的每页默
我想,我的java代码是正确的,但记录并没有显示在dataTable上。 请检查下面的代码。我不知道我在哪里犯了错误。 .xhtml JAVA getResultList getResultList方法返回一个正确的值,我调试它。我认为问题在于userDataList。
问题内容: 我倾向于将Hibernate与Spring框架结合使用,它具有声明式事务划分功能(例如@Transactional)。 众所周知,hibernate试图尽可能做到 非侵入性 和 透明性 ,但是事实证明,在使用关系时这 更具挑战性 。 我看到了许多具有不同透明度的设计方案。 使关系不延迟加载(例如, 这违反了整个延迟加载的想法。 使用初始化初始化集合 这意味着与DAO的耦合较高 尽管我们
这是我的实体: 在我的存储库中,我有: 如果表中有任何城市,会显示用户的全部信息: 如果没有城市,我想至少得到但我什么都没有:[] 请帮帮我。
我有一个简单的页面: 而中的不起作用,只是刷新页面。但是外面的那个正在工作。 如果我以这种方式更改和: 内部的就像一个符咒。 有人知道为什么? 是虫子吗? 我在 玻璃鱼3.1.2 JSF 2.1.11(Mojarra) PrimeFaces 3.4-快照