private void readtbladressen() {
    List<Member> membersDb = memberDao.findAll();
    List<Department> departmentsDb = departmentDao.findAll();
    List<ContactData> contactData = new ArrayList<ContactData>();

    Map<Long, Member> cMemberId_member = new HashMap<Long, Member>();
    Map<Long, Department> cDepartmentId_department = new HashMap<Long, Department>();

    for (Member mem : membersDb) {
      cMemberId_member.put(mem.getId(), mem);
    }

    for (Department dep : departmentsDb) {
      cDepartmentId_department.put(dep.getId(), dep);
    }

    try {
      membersDb.clear();
      CSVReader reader =
          new CSVReader(
              new InputStreamReader(
                  ConverterExecutor.class.getResourceAsStream("tbladressen.csv")));
      List<String[]> input = reader.readAll();
      for (String[] values : input) {
        String mitgliedId = values[0];
        String strasse = values[1];
        String hausNr = values[2];
        String zusatz = values[3];
        String plz = values[4];
        String ort = values[5];
        String land = values[6];
        String telefon = values[7];
        String fax = values[8];
        String mobile = values[9];
        String email = values[10];
        String internet = values[11];
        String abteilungsId = values[12];
        String telefonD = values[13];
        String faxD = values[14];
        String mobileD = values[15];
        String emailD = values[16];
        String internetD = values[17];

        ContactData contact = new ContactData();
        contact.setAddon(zusatz);
        contact.setCountry(land);
        try {
          Department dep = cDepartmentId_department.get(Long.parseLong(abteilungsId));
          if (dep != null) {
            System.out.println(
                "Setting Department with ID " + dep.getId() + " into contact data...");
          }
          contact.setDepartment(dep);
        } catch (NumberFormatException nfe) {
          System.out.println("NFE");
        }
        contact.setEmail(email);
        contact.setEmailD(emailD);
        contact.setFax(fax);
        contact.setFaxD(faxD);
        contact.setInternet(internet);
        contact.setInternetD(internetD);
        contact.setMobile(mobile);
        contact.setMobileD(mobileD);
        contact.setPhone(telefon);
        contact.setPhoneD(telefonD);
        contact.setPostCode(plz);
        contact.setStreet(strasse);
        contact.setTown(ort);
        contact.setNumber(hausNr);

        contactDao.persist(contact);

        Member mem = cMemberId_member.get(Long.parseLong(mitgliedId));
        mem.setContactData(contact);
        if (contact.getDepartment() != null) {
          ContactData data = contactDao.findById(contact.getId());
          mem.setDepartment(contact.getDepartment());
          companyDao.findById(contact.getDepartment().getCompany().getId());
          System.out.println("Company " + contact.getDepartment().getCompany().getId());

          mem.setCompany(companyId_company.get(contact.getDepartment().getCompany().getId()));
        }
        contactData.add(contact);
        membersDb.add(mem);

        memberDao.persist(mem);
      }

      reader.close();
      System.out.println("Ready with Adressen");

      // memberDao.persistAll(membersDb);

    } catch (RuntimeException e) {
      e.printStackTrace();
      System.out.println("Error " + e);
    } catch (IOException ioe) {
      // TODO: handle exception
    }
  }
  private void readtblabteilung() {
    try {
      CSVReader reader =
          new CSVReader(
              new InputStreamReader(
                  ConverterExecutor.class.getResourceAsStream("tblabteilung.csv")));
      List<String[]> input = reader.readAll();

      Map<Long, List<Department>> comp_departments = new HashMap<>();

      for (String[] values : input) {
        String id = values[0];
        String abteilung = values[1];
        String companyId = values[2];
        String strasse = values[3];
        String hausnr = values[4];
        String zusatz = values[5];
        String plz = values[6];
        String ort = values[7];
        String land = values[8];
        String internet = values[9];

        Long companyIdLong = Long.parseLong(companyId);
        // Company comp =
        // companyDao.findById(Long.parseLong(companyId));

        Department dep = new Department();
        dep.setId(Long.parseLong(id));
        dep.setDepartment(abteilung);
        dep.setAddon(zusatz);
        dep.setCountry(land);
        dep.setInternet(internet);
        dep.setNumber(hausnr);
        dep.setPostCode(plz);
        dep.setStreet(strasse);
        dep.setTown(ort);

        departmentDao.persist(dep);

        departmentId_department.put(dep.getId(), dep);

        if (comp_departments.get(companyIdLong) == null) {
          ArrayList<Department> departments = new ArrayList<Department>();
          departments.add(dep);
          comp_departments.put(companyIdLong, departments);
        } else {
          comp_departments.get(companyIdLong).add(dep);
        }
      }

      reader.close();

      for (Long compId : comp_departments.keySet()) {
        Company company = companyDao.findById(compId);
        company.setDepartments(comp_departments.get(compId));
        companyDao.persist(company);

        for (Department dep : comp_departments.get(compId)) {
          dep.setCompany(company);
          departmentDao.persist(dep);
        }
      }
    } catch (RuntimeException e) {

    } catch (IOException ioe) {

    }
  }