0
を持続されていない、私はクラス「人」を追加し、データベースに「手で」レコードの多くを追加(人のみpeopleidと文字列のpeopledescた)JPAは、私はJEE5を使用して、レガシーアプリを持つオブジェクトのJ2EE
私は方法getAllPeopleを(使用する場合)私は、リストが正しく読み込まれます、すべてのデータが
があります。しかし、私は(人々がPEP)persistPeopleを使用してコードで新しいレコードを保持しようとすると、それだけでは何も
ませんsystem.out.printlnは、オブジェクトに追加された説明を表示して、作成された新しいオブジェクトをメソッドに渡しますが、データベースに保持されません。(
コンソール出力にエラーは表示されません。
<persistence-unit name="PersistenceUnit" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>entities.People</class>
persistence.xmlの
People.java
@Entity
public class People implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int idpeople;
private String desc;
......
PeopleDAOImPL.JAVA
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;
import javax.persistence.PersistenceContext;
import javax.persistence.PersistenceUnit;
import residencias.dominio.Renovacion;
@Stateless
public class PeopleDAOImpl implements PeopleDAO {
//EntityManagerFactory emf = Persistence.createEntityManagerFactory("PersistenceUnit");
@PersistenceUnit(unitName="PersistenceUnit")
private EntityManagerFactory emf;
@Override
public void persistPeople(People pep) {
EntityManager em = emf.createEntityManager();
System.out.println("description is :"+pep.getDesc());
em.persist(pep);
}
@Override
public List<People> getAllPeople() {
EntityManager em = emf.createEntityManager();
List<People> results = new ArrayList();
Query queryPrincipal;
try {
queryPrincipal = em.createQuery("SELECT p FROM People p");
results = queryPrincipal.getResultList();
return results;
} catch (Exception e) {
System.out.println(results.size());
return results;
} finally {
if (em != null) {
emf.close();
em.close();
}
}
}
が答えてくれてありがとう、私はあなたのソリューションを試みたが、のEntityManagerのem = emf.createEntityManagerを(呼び出したとき、私はnullポインタ例外が発生しました。 – Alexev