コード例 #1
0
  @Test
  public void testInjections() throws Exception {
    // Address (embeddable)
    assertNotNull(Address_.address1);
    assertNotNull(Address_.address2);
    assertNotNull(Address_.city);
    final EmbeddableType<Address> addressType = (EmbeddableType<Address>) House_.address.getType();
    assertEquals(addressType.getDeclaredSingularAttribute("address1"), Address_.address1);
    assertEquals(addressType.getDeclaredSingularAttribute("address2"), Address_.address2);
    assertTrue(Address_.address1.isOptional());
    assertFalse(Address_.address2.isOptional());

    // Animal (mapped superclass)
    assertNotNull(Animal_.id);
    assertTrue(Animal_.id.isId());
    assertEquals(Long.class, Animal_.id.getJavaType());
    assertNotNull(Animal_.legNbr);
    //		assertEquals( Integer.class, Animal_.legNbr.getJavaType() );
    assertEquals(int.class, Animal_.legNbr.getJavaType());

    // Cat (hierarchy)
    assertNotNull(Cat_.id);
    assertNotNull(Cat_.id.isId());
    assertEquals(Animal.class, Cat_.id.getJavaMember().getDeclaringClass());
    assertNotNull(Cat_.nickname);

    // FoodItem
    assertNotNull(FoodItem_.version);
    assertTrue(FoodItem_.version.isVersion());

    // Fridge
    assertNotNull(Fridge_.id);
    assertTrue(Fridge_.id.isId());
    assertEquals(Long.class, Fridge_.id.getJavaType());
    assertNotNull(Fridge_.temperature);
    assertEquals("temperature", Fridge_.temperature.getName());
    assertEquals(Fridge.class, Fridge_.temperature.getDeclaringType().getJavaType());
    //		assertEquals( Integer.class, Fridge_.temperature.getJavaType() );
    //		assertEquals( Integer.class, Fridge_.temperature.getBindableJavaType() );
    //		assertEquals( Integer.class, Fridge_.temperature.getType().getJavaType() );
    assertEquals(int.class, Fridge_.temperature.getJavaType());
    assertEquals(int.class, Fridge_.temperature.getBindableJavaType());
    assertEquals(int.class, Fridge_.temperature.getType().getJavaType());
    assertEquals(Bindable.BindableType.SINGULAR_ATTRIBUTE, Fridge_.temperature.getBindableType());
    assertEquals(Type.PersistenceType.BASIC, Fridge_.temperature.getType().getPersistenceType());
    assertEquals(
        Attribute.PersistentAttributeType.BASIC, Fridge_.temperature.getPersistentAttributeType());
    assertFalse(Fridge_.temperature.isId());
    assertFalse(Fridge_.temperature.isOptional());
    assertFalse(Fridge_.temperature.isAssociation());
    assertFalse(Fridge_.temperature.isCollection());
    assertFalse(Fridge_.brand.isOptional());

    // House (embedded id)
    assertNotNull(House_.key);
    assertTrue(House_.key.isId());
    assertEquals(
        Attribute.PersistentAttributeType.EMBEDDED, House_.key.getPersistentAttributeType());
    assertNotNull(House_.address);
    assertEquals(
        Attribute.PersistentAttributeType.EMBEDDED, House_.address.getPersistentAttributeType());
    assertFalse(House_.address.isCollection());
    assertFalse(House_.address.isAssociation());
    assertNotNull(House_.rooms);
    assertTrue(House_.rooms.isAssociation());
    assertTrue(House_.rooms.isCollection());
    assertEquals(
        Attribute.PersistentAttributeType.ELEMENT_COLLECTION,
        House_.rooms.getPersistentAttributeType());
    assertEquals(Room.class, House_.rooms.getBindableJavaType());
    assertEquals(Bindable.BindableType.PLURAL_ATTRIBUTE, House_.rooms.getBindableType());
    assertEquals(Set.class, House_.rooms.getJavaType());
    assertEquals(PluralAttribute.CollectionType.SET, House_.rooms.getCollectionType());
    assertEquals(
        Type.PersistenceType.EMBEDDABLE, House_.rooms.getElementType().getPersistenceType());
    assertNotNull(House_.roomsByName);
    assertEquals(String.class, House_.roomsByName.getKeyJavaType());
    assertEquals(Type.PersistenceType.BASIC, House_.roomsByName.getKeyType().getPersistenceType());
    assertEquals(PluralAttribute.CollectionType.MAP, House_.roomsByName.getCollectionType());
    assertNotNull(House_.roomsBySize);
    assertEquals(
        Type.PersistenceType.EMBEDDABLE, House_.roomsBySize.getElementType().getPersistenceType());
    assertEquals(PluralAttribute.CollectionType.LIST, House_.roomsBySize.getCollectionType());

    // Person (mapped id)
    assertNotNull(Person_.firstName);
    assertNotNull(Person_.lastName);
    assertTrue(Person_.firstName.isId());
    assertTrue(Person_.lastName.isId());
    assertTrue(Person_.lastName.isId());

    // Garden List as bag
    assertNotNull(Garden_.flowers);
  }