我已经按照一些基本指南设置了Spring Roo,并且进行了设置,可以使用Roo的标准格式(例如this Youtube video)从Web浏览器访问数据库中的数据。现在,我想从Java代码访问该数据,以便可以将其“注入”到网站其他页面的视图中。怎么做?
编辑:这就是我访问数据的方式:从控制器(或任何类,实际上),我使用this注释以及此属性定义:
@PersistenceContext
private EntityManager manager;
然后,我可以使用以下查询访问数据:
List<Announcement> results = manager.createQuery("from Announcement a where a.id = :id").setParameter("id", new Long(1)).getResultList();
这将为您提供一个Announcement类型的列表(这只是我创建的实体)。当然,此查询只会产生一个结果(如果数据库没有ID为1的条目,则为零)。感谢Micha提供此解决方案。
最佳答案
您可以使用@PersistenceContext
批注在应用程序中获取JPA EntityManager
实例。使用EntityManager
您可以查询数据库(如此处的showed)。由于您使用的是Roo,因此entityManagerFactory
bean和事务支持应该已经包含在bean配置文件中。
您还可以使用Spring数据repositories来访问数据。
也许this video可以帮助您。