transactionHistory_ = mm.entity(TransactionHistory.class);
videoStore_ = mm.entity(VideoStore.class);
}
public void testEntityEmbeddableTest() {
Metamodel mm = em.getMetamodel();
assertEquals(mm.managedType(Account.class).getPersistenceType(), ENTITY);
assertEquals(mm.managedType(Address.class).getPersistenceType(), EMBEDDABLE);
assertNotNull(mm.entity(Account.class));
assertNotNull(mm.embeddable(Address.class));
try {
mm.entity(Address.class);
fail("Expecting IllegalArgumentException");
} catch (IllegalArgumentException iaex) {
}
try {
mm.embeddable(Account.class);
fail("Expecting IllegalArgumentException");
} catch (IllegalArgumentException iaex) {
}
int numEntity = 0;
int numEmbeddables = 0;
for (Class<?> clz : getDomainClasses()) {
if (clz.getAnnotation(Embeddable.class) != null) {
++numEmbeddables;
} else if (clz.getAnnotation(Entity.class) != null) {
++numEntity;
}
}
Set<EmbeddableType<?>> embs = mm.getEmbeddables();
assertEquals(embs.size(), numEmbeddables);
Set<EntityType<?>> ents = mm.getEntities();
assertEquals(ents.size(), numEntity);
Set<ManagedType<?>> metaTypes = mm.getManagedTypes();
assertEquals(metaTypes.size(), numEntity + numEmbeddables);
}