@Override
	public List<Lehrer> findAllLehrerWithUnterricht(Connection con) 
	{
		final String sql = "select * from lehrer, unterricht where lehrer.id = unterricht.l_id";
		Map<Integer, Lehrer> lehrer = new HashMap<Integer, Lehrer>();
		try (PreparedStatement ps = con.prepareStatement(sql)) 
		{
			try (ResultSet rs = ps.executeQuery()) 
			{
				while (rs.next()) {
					Integer id = rs.getInt("id");
					String vorname = rs.getString("vorname");
					String nachname = rs.getString("nachname");
					Lehrer l = lehrer.get(id);
					if(l == null)
					{
						if(vorname == null || nachname == null)
						{
							System.out.println("Ein Feld von der Tabelle Lehrer ist null, kein Lehrer wird erstellt");
						}
						else
						{
							lehrer.put(id, new Lehrer(id,vorname,nachname));
						}
					}
					l.addUnterricht(new Unterricht(rs.getInt("l_id"),rs.getString("k_id"),rs.getString("tagstunde")));
				}
			} 
			catch (SQLException ex) 
			{
				System.err.println("Fehler bei Lehrer.findAllLehrerWithUnterricht");
			}
		} 
		catch (SQLException ex) 
		{
			System.err.println("Fehler bei Lehrer.findAllLehrerWithUnterricht");
		}
		return new ArrayList<Lehrer>(lehrer.values());
	}