2015-03-23 1 views
0

У меня есть следующая проблема:Не удается получить источник данных whit PostgreSql. Невозможно использовать JPA EntityManager

Я делаю проект с использованием JPA и Restfull йоту netbeasn и Postgres, у меня есть следующие сохраняемости

<?xml version="1.0" encoding="UTF-8"?> 
 
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"> 
 
    <persistence-unit name="PruebaPersitenciaPU" transaction-type="JTA"> 
 
    <jta-data-source>data_cotratacion</jta-data-source> 
 
    <exclude-unlisted-classes>false</exclude-unlisted-classes> 
 
    <properties/> 
 
    </persistence-unit>

А также следующий код с использованием EntityManager:

@GET 
 
    public String crearPersona(
 
      @QueryParam("id") String id, 
 
      @QueryParam("name") String name, 
 
      @QueryParam("gender") String gender, 
 
      @QueryParam("date") String date){ 
 
     Persona p = new Persona(); 
 
     p.setId(id); 
 
     p.setName(name); 
 
     p.setGender(gender); 
 
     p.setDate(stringToDate(date)); 
 
     try {   
 
      EntityManagerFactory emf = Persistence.createEntityManagerFactory("PruebaPersitenciaPU"); 
 
      EntityManager em = emf.createEntityManager(); 
 
      
 
      em.getTransaction().begin(); 
 
      em.persist(p); 
 
      em.getTransaction().commit(); 
 
     
 
      return "Usuario Creado "+id; 
 
     } catch (Exception e) { 
 
      return "Usuario no creado error: "+e; 
 
     } 
 
    }

но попробовать это посылает мне эту ошибку:

Usuario no creado error: javax.persistence.PersistenceException: Exception [EclipseLink-7060] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.ValidationException Exception Description: Cannot acquire data source [data_cotratacion]. Internal Exception: javax.naming.NamingException: Lookup failed for 'data_cotratacion' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming} [Root exception is javax.naming.NameNotFoundException: data_cotratacion not found]

ответ

0

звучит как нет JDBC DataSource настроен с именем data_cotratacion. Вам необходимо настроить этот ресурс JDBC на сервере приложений.

Или вам нужно создать блок персистентности с помощью мастера в netbeans в меню «Файл»> «Создать файл». Затем выберите «Стойкость» в левом поле и «Удержание» в правом поле.

Смежные вопросы