public SeedEntityImpl( Configuration configuration, SessionFactory sessionFactory, List<Object> entities) throws IOException { this.persisted = new HashMap<Object, Object>(entities.size()); Session session = sessionFactory.openSession(); RDFBeanTransaction tx = session.beginTransaction(); try { for (Object entity : entities) { replaceReferences(configuration, entity); Object original = session.getByExample(entity); if (original == null) { session.save(entity); } else { persisted.put(entity, original); } } tx.commit(); } catch (Exception e) { logger.error(e.getMessage(), e); tx.rollback(); } finally { session.close(); } }
@Test public void GetCompanyByExample() { newSession(); Company company = getCompany(); Company example = new Company(); example.description = company.description; assertEquals(company, session.getByExample(example)); example.name = company.name; assertEquals(company, session.getByExample(example)); example.description = "XXX"; assertNull(session.getByExample(example)); example.name = null; example.description = null; assertNull(session.getByExample(example)); }
@Test public void GetEmployeeByExample() { newSession(); Employee employee = getEmployee(); Employee example = new Employee(); example.age = employee.age; assertEquals(employee, session.getByExample(example)); example.company = employee.company; assertEquals(employee, session.getByExample(example)); example.name = employee.name; assertEquals(employee, session.getByExample(example)); example.name = "XXX"; assertNull(session.getByExample(example)); } }
@Test public void test() { User user = new User(); user.email = "a@b.com"; user.firstName = "Anton"; user.lastName = "Smith"; user.password = "pass"; user.profile = Profile.Admin; session.save(user); User example = new User(); example.email = user.getEmail(); assertEquals(user, session.getByExample(example)); example.firstName = user.getFirstName(); assertEquals(user, session.getByExample(example)); example.lastName = user.getLastName(); assertEquals(user, session.getByExample(example)); example.password = user.getPassword(); assertEquals(user, session.getByExample(example)); example.profile = user.getProfile(); assertEquals(user, session.getByExample(example)); }