[jboss-user] [JBoss Seam] - New User Lazy Load Question
clerum
do-not-reply at jboss.com
Tue Sep 11 21:47:30 EDT 2007
Hello.
I'm just getting my start in the seam framework. I've used the seam-gen to setup the base of my project.
I have a basic site up where new users and register and login. What I'm trying to add now is the ability for users to add phone numbers to their account. I want to have the ability to have multiple phone number records per user (mobile, office, home, etc) thus it's set as a OneToMany
| @Entity
| @Name("user")
| @Scope(SESSION)
| public class User implements Serializable
| {
|
| private static final long serialVersionUID = -5311104884213351414L;
| private long id;
| private String username;
| private String password;
| private String firstname;
| private String lastname;
| private List <Phone> phones;
|
| public User() {}
|
| @Id @GeneratedValue
| public long getId()
| {
| return id;
| }
|
| public void setId(long id)
| {
| this.id = id;
| }
|
|
| @Length(min=5, max=50)
| public String getUsername()
| {
| return username;
| }
| public void setUsername(String username)
| {
| this.username = username;
| }
|
| public String toString()
| {
| return "User(" + username + ")";
| }
|
| @NotNull
| @Length(min=5, max=15)
| public String getPassword()
| {
| return password;
| }
|
| public void setPassword(String password)
| {
| this.password = password;
| }
|
| @NotNull
| @Length(max=100)
| public String getFirstname()
| {
| return firstname;
| }
| public void setFirstname(String firstname)
| {
| this.firstname = firstname;
| }
|
| @NotNull
| @Length(max=100)
| public String getLastname()
| {
| return lastname;
| }
| public void setLastname(String lastname)
| {
| this.lastname = lastname;
| }
|
| @OneToMany(mappedBy="user")
| public List <Phone> getPhones() {
| return phones;
| }
|
| public void setPhones(List <Phone> phones) {
| this.phones = phones;
| }
|
|
| }
|
| @Entity
| @Name("phone")
| @Scope(SESSION)
| public class Phone implements Serializable
| {
|
| private static final long serialVersionUID = -8926240091475742891L;
|
| private long id;
| private String name;
| private String number;
| private User user;
|
| public Phone () {}
|
| @Id @GeneratedValue
| public long getId()
| {
| return id;
| }
|
| public void setId(long id)
| {
| this.id = id;
| }
| @NotNull
| @Length(min=2, max=15)
| public String getName()
| {
| return name;
| }
|
| public void setName(String name)
| {
| this.name = name;
| }
| @NotNull
| @Length(min=10, max=50)
| public String getNumber()
| {
| return number;
| }
|
| public void setNumber(String number)
| {
| this.number = number;
| }
|
| @ManyToOne
| public User getUser()
| {
| return user;
| }
|
| public void setUser(User user)
| {
| this.user = user;
| }
| }
|
What I'm trying to get working is just a list of the current logged in users phone records.
| <f:subview id="phones"
| rendered="#{!empty(phones)}">
| <p>You have the following Phone Numbers Stored:</p>
| <h:dataTable value="#{user.phones}" var="id">
| <h:column>
| <h:outputText value="#{phones.number}"/>
| </h:column>
| </h:dataTable>
| </f:subview>
I'm guessing it's something thats wrong in my ui code, but I don't see any examples that have simple mapped tables. Can someone point me in the right direction? How would I call and present the List of phones from my page?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4083237#4083237
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4083237
More information about the jboss-user
mailing list