Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class PersistenceManager {
- private static final SessionFactory factory = new Configuration().configure().buildSessionFactory();
- public static void sampleData() {
- try(Session session = factory.openSession()){
- SampleDataLoader.loadSampleData(session);
- }
- catch(HibernateException e) {
- System.out.println("Exception during persisting! Message: " + e.getMessage());
- e.printStackTrace();
- }
- }
- }
- public class SampleDataLoader {
- static void loadSampleData(Session session) {
- Language french = new Language("French");
- Language german = new Language("German");
- Noun garcon = new Noun(french, "garcon", false);
- Noun junge = new Noun(german, "Junge", false);
- junge.addTranslation(garcon);
- ZUser user = new ZUser("Daniel", "password");
- user.setOwnLanguage(german);
- user.setEmail("abc@somemail.de");
- user.setDateRegistered(LocalDateTime.now());
- user.addForeignLanguage(french);
- Transaction transaction = session.beginTransaction();
- session.save(user);
- session.save(french);
- session.save(german);
- session.save(junge);
- transaction.commit();
- }
- }
- @Entity
- public class ZUser {
- @Id
- @GeneratedValue(strategy=GenerationType.AUTO)
- @Column(name = "id")
- private int id;
- @Column
- private String name;
- @Column
- private String password;
- @Column
- private String email;
- @Column
- private String picturePath;
- @Column
- private LocalDateTime dateRegistered;
- @ManyToOne(fetch=FetchType.EAGER)
- @JoinColumn(name="OWNLANGUAGE_ID")
- private Language ownLanguage;
- @ManyToMany(cascade = { CascadeType.ALL })
- @JoinTable(name="USER_LANGUAGE",
- joinColumns=@JoinColumn(name="USER_ID"),
- inverseJoinColumns=@JoinColumn(name="LANGUAGE_ID")
- )
- private Set<Language> foreignLanguages = new HashSet<>();
- public ZUser() {}
- public ZUser(String n, String p) {
- name = n;
- password = p;
- }
- public int getId() { return id; }
- public void setId(int id) { this.id = id; }
- public String getName() {
- return name;
- }
- public void setName(String name) { this.name = name; }
- public String getPassword() { return password; }
- public void setPassword(String password) { this.password = password; }
- public String getEmail() { return email; }
- public void setEmail(String email) { this.email = email; }
- public String getPicturePath() { return picturePath; }
- public void setPicturePath(String picturePath) { this.picturePath = picturePath; }
- public LocalDateTime getDateRegistered() { return dateRegistered; }
- public void setDateRegistered(LocalDateTime dateRegistered) { this.dateRegistered = dateRegistered; }
- public Language getOwnLanguage() { return ownLanguage; }
- public void setOwnLanguage(Language ownLanguage) { this.ownLanguage = ownLanguage; }
- public void addForeignLanguage(Language language) {foreignLanguages.add(language);}
- public Set<Language> getForeignLanguages() {return Collections.unmodifiableSet(foreignLanguages); }
- }
Add Comment
Please, Sign In to add comment