Guest User

Untitled

a guest
Apr 5th, 2018
234
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.13 KB | None | 0 0
  1. public class PersistenceManager {
  2.  
  3. private static final SessionFactory factory = new Configuration().configure().buildSessionFactory();
  4. public static void sampleData() {
  5.  
  6.  
  7. try(Session session = factory.openSession()){
  8.  
  9. SampleDataLoader.loadSampleData(session);
  10.  
  11. }
  12. catch(HibernateException e) {
  13. System.out.println("Exception during persisting! Message: " + e.getMessage());
  14. e.printStackTrace();
  15. }
  16.  
  17. }
  18. }
  19.  
  20. public class SampleDataLoader {
  21.  
  22. static void loadSampleData(Session session) {
  23.  
  24. Language french = new Language("French");
  25. Language german = new Language("German");
  26.  
  27. Noun garcon = new Noun(french, "garcon", false);
  28. Noun junge = new Noun(german, "Junge", false);
  29.  
  30. junge.addTranslation(garcon);
  31.  
  32. ZUser user = new ZUser("Daniel", "password");
  33. user.setOwnLanguage(german);
  34. user.setEmail("abc@somemail.de");
  35. user.setDateRegistered(LocalDateTime.now());
  36.  
  37. user.addForeignLanguage(french);
  38.  
  39. Transaction transaction = session.beginTransaction();
  40. session.save(user);
  41. session.save(french);
  42. session.save(german);
  43. session.save(junge);
  44. transaction.commit();
  45. }
  46. }
  47.  
  48. @Entity
  49. public class ZUser {
  50.  
  51. @Id
  52. @GeneratedValue(strategy=GenerationType.AUTO)
  53. @Column(name = "id")
  54. private int id;
  55.  
  56. @Column
  57. private String name;
  58.  
  59. @Column
  60. private String password;
  61.  
  62. @Column
  63. private String email;
  64.  
  65. @Column
  66. private String picturePath;
  67.  
  68. @Column
  69. private LocalDateTime dateRegistered;
  70.  
  71. @ManyToOne(fetch=FetchType.EAGER)
  72. @JoinColumn(name="OWNLANGUAGE_ID")
  73. private Language ownLanguage;
  74.  
  75. @ManyToMany(cascade = { CascadeType.ALL })
  76. @JoinTable(name="USER_LANGUAGE",
  77. joinColumns=@JoinColumn(name="USER_ID"),
  78. inverseJoinColumns=@JoinColumn(name="LANGUAGE_ID")
  79. )
  80. private Set<Language> foreignLanguages = new HashSet<>();
  81.  
  82. public ZUser() {}
  83. public ZUser(String n, String p) {
  84. name = n;
  85. password = p;
  86. }
  87.  
  88.  
  89. public int getId() { return id; }
  90. public void setId(int id) { this.id = id; }
  91. public String getName() {
  92. return name;
  93. }
  94. public void setName(String name) { this.name = name; }
  95. public String getPassword() { return password; }
  96. public void setPassword(String password) { this.password = password; }
  97. public String getEmail() { return email; }
  98. public void setEmail(String email) { this.email = email; }
  99. public String getPicturePath() { return picturePath; }
  100. public void setPicturePath(String picturePath) { this.picturePath = picturePath; }
  101. public LocalDateTime getDateRegistered() { return dateRegistered; }
  102. public void setDateRegistered(LocalDateTime dateRegistered) { this.dateRegistered = dateRegistered; }
  103. public Language getOwnLanguage() { return ownLanguage; }
  104. public void setOwnLanguage(Language ownLanguage) { this.ownLanguage = ownLanguage; }
  105.  
  106. public void addForeignLanguage(Language language) {foreignLanguages.add(language);}
  107. public Set<Language> getForeignLanguages() {return Collections.unmodifiableSet(foreignLanguages); }
  108. }
Add Comment
Please, Sign In to add comment