### Question:
ExtendedNamingStrategy extends DefaultNamingStrategy { @Override public String getPropertyNameForInverseForeignKey(String fkName, EntityType entityType) { String[] split = SPLIT.split(fkName); if (split.length > 2) { return getPropertyName(split[split.length - 1], entityType); } else { return super.getPropertyNameForInverseForeignKey(fkName, entityType); } }  @Override String getPropertyNameForForeignKey(String fkName, EntityType entityType); @Override String getPropertyNameForInverseForeignKey(String fkName, EntityType entityType);  }### Answer:
@Test public void getPropertyNameForInverseForeignKey() { assertEquals("_superiorFk", namingStrategy.getPropertyNameForInverseForeignKey("fk_superior", entityModel)); assertEquals("rows", namingStrategy.getPropertyNameForInverseForeignKey("fk_order_rows", entityModel)); assertEquals("events", namingStrategy.getPropertyNameForInverseForeignKey("fk_category_events", entityModel)); }