0

我正在使用 Netbeans 中的 JPA 在 JSF 2.0 中做我的第一个应用程序。

  1. 如何在 JSF 中对我的 Java 实体使用不同的命名查询?例如我有这个实体,

    @Entity
    @Table(name = "user")
    @XmlRootElement
    @NamedQueries({
    @NamedQuery(name = "User.findAll", query = "SELECT u FROM User u"),
    @NamedQuery(name = "User.findById", query = "SELECT u FROM User u WHERE u.id = :id"),
    @NamedQuery(name = "User.findByUser", query = "SELECT u FROM User u WHERE u.user = :user"),
    @NamedQuery(name = "User.findByPassword", query = "SELECT u FROM User u WHERE u.password = :password"),
    @NamedQuery(name = "User.findByMail", query = "SELECT u FROM User u WHERE u.mail = :mail")})
    public class User implements Serializable {
        private static final long serialVersionUID = 1L;
        @Id
        @Basic(optional = false)
        @NotNull
        @Column(name = "id")7
        private Integer id;
    

    我希望在 JSF 中可以选择使用不同的命名查询,如findByMail,findByUser等。

  2. 我看到在 Netbeans 生成的代码中,我有一个Vector结果为findAll. 这样好吗?如果我的数据库中有很多数据,这不会是一个大向量吗?在 100 个查询中做 100 个不是更好吗?

  3. 生成的 JSF 页面始终相同。这是正常的吗?我可以生成一个网址吗?

4

1 回答 1

3

您似乎正在使用 Netbeans 向导 - 并且对生成的代码了解甚少。你迷失了,甚至无法提出正确的问题,更不用说理解答案了。你没有掌握 JSF 和 JPA、JPQL 和 SQL、向量和集合等之间的区别。

请随意忽略我的建议,但我强烈认为您需要先学习使用的技术,然后再尝试使用向导。从数据库生成 JSF CRUD 页面的 Netbeans 向导并不是一个开箱即用的解决方案,事实上模板有已知的错误。它可以用来娱乐,可以用来在聚会上给你的朋友留下深刻印象——但它作为一种教育工具是极其糟糕的。

于 2013-01-18T17:30:42.270 回答