Okay, I think I'm starting to figure things out. However, now I'm having problems with a one to many relationship. Here are some source snippets...
(from User.java) @NotNull @ManyToOne @JoinColumn(name="Id", nullable=false) public Role getRole() { return role; } public void setRole(Role role) { this.role = role; } (from Role.java) @Entity @Name("role") @Scope(EVENT) @Table(name="roles") public class Role implements Serializable { private String name; private Integer id; public Role(String name, Integer id) { this.name = name; this.id = id; } public Role() {} @Id @GeneratedValue public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } @NotNull @Length(min=1, max=15) public String getName() { return name; } public void setName(String name) { this.name = name; } public String toString() { return "Role(" + name + ")"; } } (from YaRBImpl.java) @Stateful @Name("yarb") @Scope(APPLICATION) @Interceptors(SeamInterceptor.class) public class YaRBImpl implements YaRB { List roles; Map<String,Role> roleMap; @PersistenceContext EntityManager em; @Create public void loadData() { roles = em.createQuery("from Role r").getResultList(); Map<String,Role> results = new TreeMap<String,Role>(); for(Role role: roles) { results.put(role.getName(), role); } roleMap = results; } public Map<String,Role> getRoles() { return roleMap; } public Converter getConverter() { return new RoleConverter(roles); } public Role getNullRole() { return new Role(); } static public class RoleConverter implements Converter, Serializable { List roles; public RoleConverter(List roles) { this.roles = roles; } public String getAsString(FacesContext facesContext, UIComponent component, Object obj) throws ConverterException { if (obj == null) return null; return String.valueOf(((Role) obj).getId()); } public Object getAsObject(FacesContext facesContext, UIComponent component, String str) throws ConverterException { if(str == null || str.length()==0) return null; Integer id = new Integer(str); for (Role role: roles) { if(role.getId().equals(id)) { return role; } } return null; } } } (from SSBImpl.java) @Stateless @Name("ssb") @Interceptors(SeamInterceptor.class) public class SSBImpl implements SSB { @In(required=false) @Valid private User user; @In(required=false) @Valid private Role role; @PersistenceContext private EntityManager em; @IfInvalid(outcome="index") public String invoke() { List existing = em.createQuery("select username from User where username=:username").setParameter("username", user.getUsername()).getResultList(); if(existing.size()==0) { em.persist(user); return "go"; } else { return "oops"; } } @IfInvalid(outcome="role") public String createRole() { List existing = em.createQuery("select name from Role where name=:name").setParameter("name", role.getName()).getResultList(); if(existing.size()==0) { em.persist(role); return "bob"; } else { return "role"; } } } (from index.xhtml) <h:selectOneListbox value="#{user.role}" converter="#{yarb.converter}"> <f:selectItems value="#{yarb.roles}"/> </h:selectOneListbox> <h:messages/> <h:commandButton type="submit" value="Submit" action="#{ssb.invoke}"/> <h:commandButton type="submit" value="Search" action="#{userlist.listUsers}"/> </h:form> It lists my roles correctly, and I can see that my converter is actually returning a role object when I try and submit the form. However, it's just returning me to index.xhtml with a rather generic validation error. If I comment out the snippet from index.xhtml that I provided above, it works, but I don't get any role (obviously). What am I doing wrong? View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3940962#3940962 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3940962 ------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user