{"id":1244,"date":"2016-06-15T11:25:35","date_gmt":"2016-06-15T11:25:35","guid":{"rendered":"http:\/\/codethataint.com\/blog\/?p=1244"},"modified":"2016-06-16T06:55:20","modified_gmt":"2016-06-16T06:55:20","slug":"working-with-collections-in-hibernate","status":"publish","type":"post","link":"https:\/\/codethataint.com\/blog\/working-with-collections-in-hibernate\/","title":{"rendered":"Working with Collections in Hibernate"},"content":{"rendered":"<p>While working with collection if you want the details to be stored in a seperate table using   <strong>@ElementCollection<\/strong> solves the purpose<\/p>\n<p><strong>UserDetails.java<\/strong><\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\n public class UserDetails {\r\n  @ElementCollection\r\n  private List&lt;Address&gt; arrList = new ArrayList&lt;Address&gt;();\r\n\r\n }\r\n<\/pre>\n<p><strong>Address.java<\/strong><\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\n@Embeddable\r\npublic class Address \r\n{\r\n  private String DoorNo;\r\n  private String Street;\r\n  private String Location;\r\n  private String Pincode;\r\n  .\r\n  .\r\n  .\r\n }\r\n<\/pre>\n<p><strong>createTables.java<\/strong><\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npublic class CreateTables {   \r\n  public static void main(String&#x5B;] args) \r\n  {\r\n    UserDetails objUserDetail1 =  new UserDetails();\r\n\r\n    Address objAddr = new Address();\r\n    objAddr.setDoorNo(&quot;13&quot;);\r\n    objAddr.setStreetName(&quot;Poes Road&quot;);\r\n    objAddr.setLocation(&quot;Teynampet&quot;);\r\n    objAddr.setPincode(&quot;600018&quot;);\r\n    \r\n    \r\n    Address objAddr2 = new Address();\r\n    objAddr2.setDoorNo(&quot;256&quot;);\r\n    objAddr2.setStreetName(&quot;Sriman Srinivasan Road&quot;);\r\n    objAddr2.setLocation(&quot;Alwarpet&quot;);\r\n    objAddr2.setPincode(&quot;600018&quot;);\r\n    \r\n    objUserDetail1.getArrList().add(objAddr);\r\n    objUserDetail1.getArrList().add(objAddr2);\r\n  }\r\n}\r\n<\/pre>\n<p><strong>Giving Names to Joined Tables<\/strong><\/p>\n<ul>\n<li>New Table will be created under USER_ADDRESS Name<\/li>\n<li>joinColumns decides which column should be used for joining two tables<\/li>\n<\/ul>\n<p><strong>Format for Join Table<\/strong><\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\n  @JoinTable(name=&quot;JOIN_TABLE_DESIRED_NAME&quot;, \r\n\t     joinColumns= @JoinColumn(name=&quot;userId&quot;))\r\n<\/pre>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\n  @JoinTable(name=&quot;USER_ADDRESS&quot;, \r\n\t     joinColumns= @JoinColumn(name=&quot;userId&quot;))\r\n  private Set&lt;Address&gt; addressSet = new HashSet();\r\n  .\r\n  .\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>While working with collection if you want the details to be stored in a seperate table using @ElementCollection solves the purpose UserDetails.java public class UserDetails { @ElementCollection private List&lt;Address&gt; arrList = new ArrayList&lt;Address&gt;(); } Address.java @Embeddable public class Address { private String DoorNo; private String Street; private String Location; private String Pincode; . . .&hellip; <a href=\"https:\/\/codethataint.com\/blog\/working-with-collections-in-hibernate\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[74],"tags":[],"class_list":["post-1244","post","type-post","status-publish","format-standard","hentry","category-hibernate"],"_links":{"self":[{"href":"https:\/\/codethataint.com\/blog\/wp-json\/wp\/v2\/posts\/1244","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/codethataint.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/codethataint.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/codethataint.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/codethataint.com\/blog\/wp-json\/wp\/v2\/comments?post=1244"}],"version-history":[{"count":6,"href":"https:\/\/codethataint.com\/blog\/wp-json\/wp\/v2\/posts\/1244\/revisions"}],"predecessor-version":[{"id":1251,"href":"https:\/\/codethataint.com\/blog\/wp-json\/wp\/v2\/posts\/1244\/revisions\/1251"}],"wp:attachment":[{"href":"https:\/\/codethataint.com\/blog\/wp-json\/wp\/v2\/media?parent=1244"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/codethataint.com\/blog\/wp-json\/wp\/v2\/categories?post=1244"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/codethataint.com\/blog\/wp-json\/wp\/v2\/tags?post=1244"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}