There was a
direct train, but it was canceled on last autumn. Since then you have to change trains in Pardubice in Czech Republic. It is not going through Germany but through mountains/hills between Czech and Poland. Entire trip takes around 5 to 6 hours. I was travelling using that option in last December. It was bearable Czech train but nothing fancy.
PS. Be aware, there are more than one stop in Pardubice, you have to choose proper one.