package org.dddlib.organisation.domain; import org.dayatang.domain.EntityRepository; import org.dayatang.domain.InstanceFactory; import org.junit.Before; import org.junit.Test; import java.util.List; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; public class PersonTest extends AbstractIntegrationTest { private Person person1; private Person person2; @Before public void setUp() throws Exception { super.setUp(); person1 = new Person("a", "b"); person1.setIdNumber("p1"); person1.setIm(ImType.QQ, "349591542"); person1.setIm(ImType.MSN, "cnyangyu@hotmail.com"); person1.save(); person2 = new Person("a", "c"); person2.setIdNumber("p2"); person2.setIm(ImType.QQ, "666666"); person2.setIm(ImType.MSN, "ryyang@hotmail.com"); person2.save(); } @Test public void testGetIms() { String jpql = "select o from Person o join o.ims i where KEY(i) = :imType and i = :im"; EntityRepository repository = InstanceFactory.getInstance(EntityRepository.class); List<Person> persons = repository.createJpqlQuery(jpql) .addParameter("imType", ImType.QQ).addParameter("im", "666666").list(); assertFalse(persons.contains(person1)); assertTrue(persons.contains(person2)); } }