Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <class name="MainTable" table="MAIN_TABLE" mutable="false">
- <id name="Id" column="rvcplc" type="int" length="10">
- <generator class="assigned"/>
- </id>
- <bag name="JoinedRecords" table="JOIN_TABLE" order-by="main_table_id">
- <key column="main_table_id" not-null="true"/>
- <composite-element class="JoinTable">
- <parent name="parentRecord"/>
- <many-to-one name="ThirdTable" column="third_table_id"/>
- </composite-element>
- </bag>
- @Entity()
- @Table(name="MAIN_TABLE")
- @Immutable
- public class MainTable extends BusinessEntity implements IMainTable
- {
- @Id
- @Type(type = "LongToNull")
- @Column(name = "id")
- private long id;
- @ElementCollection
- @CollectionTable(name="JOIN_TABLE", joinColumns={@JoinColumn(name="main_table_id")})
- private List<IJoinTable> joinedRecords = new ArrayList<IJoinTable>();
- }
- @Embeddable()
- @Table(name = "JOIN_TABLE")
- @Immutable
- public class JoinTable implements Serializable, IJoinTable
- {
- @SuppressWarnings("unused")
- @Id
- private JoinTablePK pkId;
- @Parent
- @Column(name = "main_table_id")
- private IMainTable parentRecord;
- @ManyToOne(targetEntity = ThirdTable.class)
- @JoinColumn(name = "third_table_id")
- private IThirdTable thirdTable;
- public static class JoinTablePK implements Serializable
- {
- // foo
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement