【问题标题】:Fill datatable from database in jpa [duplicate]从jpa中的数据库填充数据表[重复]
【发布时间】:2015-07-27 07:09:28
【问题描述】:
public List<MemberEntity> getMember() {
    EntityManagerFactory entityManagerFactory = Persistence
            .createEntityManagerFactory("PrimeEclipseLink");
    EntityManager entityManager = entityManagerFactory
            .createEntityManager();
    Query query = entityManager
            .createNativeQuery("Select * FROM member");
    memberEntities = (List<MemberEntity>)query.getResultList();
    return memberEntities;

}

我想从数据库中填充我的databable。但它不起作用,请帮助我:) 当我单击列表按钮时,表格填充就像图片一样。顺便说一句,我的数据库包含 3 个记录。这就是为什么 3 个零。

xhtml 页面在这里。

<h:form id="member">

<p:dataTable var="members" value="#{mainScreen.memberEntities}">
<p:column headerText="name">
<h:outputText value="#{memberEntity.name}" />
</p:column>
<p:column headerText="surname">
<h:outputText value="#{memberEntity.surname}" />
</p:column>
<p:column headerText="fathername">
<h:outputText value="#{memberEntity.fathername}" />
</p:column>
<p:column headerText="age">
<h:outputText value="#{memberEntity.age}" />
</p:column>
<p:column headerText="email">
<h:outputText value="#{memberEntity.email}" />
</p:column>
<p:column headerText="username">
<h:outputText value="#{memberEntity.username}" />
</p:column>
<p:column headerText="password">
<h:outputText value="#{memberEntity.password}" />
</p:column>

</p:dataTable>

</h:form>

`@ManagedBean

@Entity
@Table(name = "member")
public class MemberEntity {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int memberid;
private int age;
private String name;
private String surname;
private String fathername;
private String email;
private String username;
private String password;

public MemberEntity(int memberid, int age, String name, String surname,
        String fathername, String email, String username, String password) {
    super();
    this.memberid = memberid;
    this.age = age;
    this.name = name;
    this.surname = surname;
    this.fathername = fathername;
    this.email = email;
    this.username = username;
    this.password = password;
}

public MemberEntity() {
    super();
    // TODO Auto-generated constructor stub
}

public int getMemberid() {
    return memberid;
}

public void setMemberid(int memberid) {
    this.memberid = memberid;
}

public int getAge() {
    return age;
}

public void setAge(int age) {
    this.age = age;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getSurname() {
    return surname;
}

public void setSurname(String surname) {
    this.surname = surname;
}

public String getFathername() {
    return fathername;
}

public void setFathername(String fathername) {
    this.fathername = fathername;
}

public String getEmail() {
    return email;
}

public void setEmail(String email) {
    this.email = email;
}

public String getUsername() {
    return username;
}

public void setUsername(String username) {
    this.username = username;
}

public String getPassword() {
    return password;
}

public void setPassword(String password) {
    this.password = password;
}

@Override
public String toString() {

    return "Member [memberid=" + memberid + ",name=" + name + ",surname="
            + surname + ",age=" + age + ",email=" + email + ",fathername="
            + fathername + ",username=" + username + ",password="
            + password + "]";
}

}

【问题讨论】:

    标签: jsf jpa primefaces


    【解决方案1】:

    在您的p:dataTable 中,var 属性被命名为membres,而在p:column 值中您使用的是memberEntity,因此您必须将其更改为members

    发件人:

    <p:column headerText="name">
        <h:outputText value="#{memberEntity.name}" />
    </p:column>
    

    收件人:

    <p:column headerText="name">
        <h:outputText value="#{members.name}" />
    </p:column>
    

    【讨论】:

    • 是的,我之前尝试过您的建议。但我收到错误号格式异常
    • 你能发布异常吗?
    • Tem 27, 2015 10:35:19 AM com.sun.faces.context.PartialViewContextImpl$PhaseAwareVisitCallback 访问严重:java.lang.NumberFormatException:对于输入字符串:“名称”
    • 请在问题中包含您的 memberEntity 类的代码。
    • 嗯,您可以编辑您的问题并添加成员实体吗?
    【解决方案2】:

    我找到了解决方案。在 getMember() 方法中而不是 createNativeQuery("Select * FROM member") true---> createNativeQuery("Select * FROM members,MemberEntity.class)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-11
      • 1970-01-01
      • 2011-08-26
      • 1970-01-01
      • 1970-01-01
      • 2020-07-04
      • 1970-01-01
      • 2011-01-25
      相关资源
      最近更新 更多