JPA için oldukça yeni ve EntityManager'ımın persencini/silinmesini vb. Test etmek istedim. veri kaynağına sahip olamadığım bir hatayı alıyorum. Tamamen kaybediyorum, saatlerce çevrimiçi arama yaptım ve web'de herhangi bir cevap bulamadım (veya en azından anlayamıyorum). Herhangi bir yardım takdir edilecektir. Teşekkür ederim!, Unit test java persistence için veri kaynağı alınamıyor. Varlık Yöneticisi
Bu, test sınıftır.
@Transactional
public class DoctorRepositoryTest
{
private DoctorRepository dr;
private Doctor doctor;
private EntityManagerFactory emf
= Persistence.createEntityManagerFactory("TestPersistence");
private EntityManager em = null;
public DoctorRepositoryTest()
{
}
@BeforeClass
public static void setUpClass()
{
}
@AfterClass
public static void tearDownClass()
{
}
@Before
public void setUp()
{
dr = new DoctorRepository();
doctor = new Doctor(0,"doctorFirstName", "doctorLastName", "4032223333",
"123 45 ave NW","Calgary", "AB", "t3k5c9");
}
@After
public void tearDown()
{
dr = null;
doctor = null;
}
/**
* Testings method for the insertion of Doctor Objects to
* the database
*/
@Test
public void testInsert(){
int result;
EntityManager em = emf.createEntityManager();
try
{
em.getTransaction().begin();
em.persist(doctor);
em.getTransaction().commit();
result = 1;
}
catch(Exception e){
result = 0;
}
finally
{
em.close();
}
assertEquals(result,1);
}
Bu benim kalıcılık xml ben almaya devam Hata olduğunu
<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="SunrisePU" transaction-type="JTA">
<jta-data-source>SunriseDB</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties/>
</persistence-unit>
<persistence-unit name="TestPersistence" transaction-type="RESOURCE_LOCAL">
<jta-data-source>SunriseDB</jta-data-source>
<properties>
</properties>
</persistence-unit>
</persistence>
olduğunu.
[EL Info]: 2016-03-27 12:50:44.151--ServerSession(957465255)--EclipseLink, version: Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd
[EL Severe]: ejb: 2016-03-27 12:50:48.588--ServerSession(957465255)--Exception
[EclipseLink-7060] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.ValidationException
İstisna Açıklaması: kazanmak Can not veri kaynağı [SunriseDB].
Hata için çok daha fazlası var, ancak temel nedeni, sınama için veritabanıma bağlanamama.
Eğer kök neden olursa http://docs.spring.io/spring/docs/current/spring-framework-reference/html/integration-testing.html –
yararlı olabilir bahar bu bağlantıyı kullanarak Çünkü hatanın nedeni, veritabanınıza bağlanamamanızdır, o zaman araştırmanız gereken problem budur. DB/Server yapılandırmanızın nesi yanlış olduğunu ve niçin ona bağlanamadığınızı öğrenin. Gönderdiğiniz snippet'ler, DB yapılandırmanız yanlışsa alakasız olur. –
projemi çalıştırdığımda, veritabanına yalnızca gayet iyi bağlı, ne yapacağından emin değilim: /. Aşağıda önerilen özellik bölümüne bir şeyler eklemeyi denedim, bu da ne yazık ki yardımcı olmadı. –