@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) public @interface Joins { /** * The join definitions used for the mapping of this type. Joins for * secondary tables are usually defined at the type level and not the * field or property level. This allows multiple fields and properties * to share the same join definition and avoid redundancies. * @return the join definitions */ Join[] value(); }