我想捆绑几种技术Servlet + EJB + JPA(Hibernate)+ DB(PostgreSQL)

我正在使用Servlet,并且创建了Bean。我used example,我看不到Hibernate绑定到DB等的地方...

@Entity
@XmlRootElement
@Table(name = "BookHibernate", uniqueConstraints = @UniqueConstraint(columnNames = "id"))
public class Book implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    private Long id;
    private String name;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

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


题:


接下来我应该采取哪些步骤?
我应该在哪里将Book实体绑定到真实的数据库表?
EntityManager应该出现在哪里?

最佳答案

创建另一个bean(一个CDI或一个EJB无状态的bean),然后在其中注入一个entityManager(@persistenceContext),使用该bean将您的实体获取或持久化到数据库中
您已经做到了@Table(name = "BookHibernate"...
cf 1

@Named
public class myBean {

  @PersistenceContext
  private EntityManager em;

  public Book getBookById(Long id) {
   return em.find(Book.class, id);
  }
}

08-17 15:51
查看更多