Tag: jpa

JSF控制器,服务和DAO

我正在尝试习惯JSF如何处理访问数据(来自spring的背景) 我正在创build一个维护用户列表的简单示例,我有类似的东西 <h:dataTable value="#{userListController.userList}" var="u"> <h:column>#{u.userId}</h:column> <h:column>#{u.userName}</h:column> </h:dataTable> 那么“控制器”有类似的东西 @Named(value = "userListController") @SessionScoped public class UserListController { @EJB private UserListService userListService; private List<User> userList; public List<User> getUserList() { userList = userListService.getUsers(); return userList; } } 而“服务”(虽然看起来更像是一个DAO) public class UserListService { @PersistenceContext private EntityManager em; public List<User> getUsers() { Query query = em.createQuery("SELECT u from User […]

validation错误:值无效

我有一个ap:selectOneMenu的问题,无论我做什么我都无法让JSF调用JPA实体上的setter。 JSFvalidation失败并显示以下消息: 表单:位置:validation错误:值无效 我有这个工作在同一types的其他类(即连接表类),但不能为我的生活得到这个工作。 如果任何人都可以抛出一些疑难解答/debugging技巧这种问题,将不胜感激。 使用日志语句我已validation以下内容: Conveter正在返回正确的非null值。 我的JPA实体中没有Beanvalidation。 setter setLocation(Location location)永远不会被调用。 这是我能做的最简单的例子,它根本行不通: <h:body> <h:form id="form"> <p:messages id="messages" autoUpdate="true" /> <p:selectOneMenu id="location" value="#{locationStockList.selected.location}" converter="locationConverter"> <p:ajax event="change" update=":form:lblLocation"/> <f:selectItems value="#{locationStockList.locationSelection}"/> </p:selectOneMenu> </h:form> </h:body> 转换器: @FacesConverter(forClass=Location.class, value="locationConverter") public class LocationConverter implements Converter, Serializable { private static final Logger logger = Logger.getLogger(LocationConverter.class.getName()); @Override public Object getAsObject(FacesContext context, UIComponent component, […]

没有EntityManager的持久性提供者命名

我有我的persistence.xml具有相同的名称,在META-INF目录下使用toplink。 然后我有我的代码调用它… EntityManagerFactory emfdb = Persistence.createEntityManagerFactory("agisdb"); 但是,我收到以下错误消息 2009-07-21 09:22:41,018 [main]错误 – 没有EntityManager的持久化提供者名为agisdb javax.persistence.PersistenceException:没有名为agisdb的EntityManager的持久性提供者 在javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:89) 在javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:60) 这里是persistence.xml … <?xml version="1.0" encoding="UTF-8"?> <persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0"> <persistence-unit name="agisdb"> <class>com.agis.livedb.domain.AddressEntity</class> <class>com.agis.livedb.domain.TrafficCameraEntity</class> <class>com.agis.livedb.domain.TrafficPhotoEntity</class> <class>com.agis.livedb.domain.TrafficReportEntity</class> <properties> <property name="toplink.jdbc.url" value="jdbc:mysql://localhost:3306/agisdb"/> <property name="toplink.jdbc.driver" value="com.mysql.jdbc.Driver"/> <property name="toplink.jdbc.user" value="root"/> <property name="toplink.jdbc.password" value="password"/> </properties> </persistence-unit> </persistence> 它应该在类路径…但是,我得到了上述错误…真的很感谢任何帮助…谢谢