如何使bean持久化?
How to make bean persistent?
我想捆绑几种技术 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
实体绑定到真实数据库 table?
EntityManager
应该出现在哪里?
创建另一个 bean(CDI 或 EJB 无状态 bean)并在其中注入一个 entityManager (@persistenceContext),使用这个来获取或持久化您的实体到数据库
你已经做到了@Table(name = "BookHibernate"...
比照 1
@Named
public class myBean {
@PersistenceContext
private EntityManager em;
public Book getBookById(Long id) {
return em.find(Book.class, id);
}
}
我想捆绑几种技术 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
实体绑定到真实数据库 table? EntityManager
应该出现在哪里?
创建另一个 bean(CDI 或 EJB 无状态 bean)并在其中注入一个 entityManager (@persistenceContext),使用这个来获取或持久化您的实体到数据库
你已经做到了
@Table(name = "BookHibernate"...
比照 1
@Named public class myBean { @PersistenceContext private EntityManager em; public Book getBookById(Long id) { return em.find(Book.class, id); } }