Advertisement
Guest User

Untitled

a guest
Oct 31st, 2014
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 KB | None | 0 0
  1. <class name="MainTable" table="MAIN_TABLE" mutable="false">
  2. <id name="Id" column="rvcplc" type="int" length="10">
  3. <generator class="assigned"/>
  4. </id>
  5. <bag name="JoinedRecords" table="JOIN_TABLE" order-by="main_table_id">
  6. <key column="main_table_id" not-null="true"/>
  7. <composite-element class="JoinTable">
  8. <parent name="parentRecord"/>
  9. <many-to-one name="ThirdTable" column="third_table_id"/>
  10. </composite-element>
  11. </bag>
  12.  
  13. @Entity()
  14. @Table(name="MAIN_TABLE")
  15. @Immutable
  16. public class MainTable extends BusinessEntity implements IMainTable
  17. {
  18. @Id
  19. @Type(type = "LongToNull")
  20. @Column(name = "id")
  21. private long id;
  22.  
  23. @ElementCollection
  24. @CollectionTable(name="JOIN_TABLE", joinColumns={@JoinColumn(name="main_table_id")})
  25. private List<IJoinTable> joinedRecords = new ArrayList<IJoinTable>();
  26. }
  27.  
  28. @Embeddable()
  29. @Table(name = "JOIN_TABLE")
  30. @Immutable
  31. public class JoinTable implements Serializable, IJoinTable
  32. {
  33. @SuppressWarnings("unused")
  34. @Id
  35. private JoinTablePK pkId;
  36.  
  37. @Parent
  38. @Column(name = "main_table_id")
  39. private IMainTable parentRecord;
  40.  
  41. @ManyToOne(targetEntity = ThirdTable.class)
  42. @JoinColumn(name = "third_table_id")
  43. private IThirdTable thirdTable;
  44.  
  45. public static class JoinTablePK implements Serializable
  46. {
  47. // foo
  48. }
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement