Think in the clean architecture neither of layers nor of positions like top or bottom. It is fundamental to think of (maybe) rings or shells that can be used by outer rings and protect inner rings.
The most inner ring should always be your domain and therefore is not able to have dependencies to any other ring surrounding it. In rough terms this means, your domain is free of technical or application specific aspects. Hence your entities are done right, if they only depend on other components in your domain.
You will maybe ask yourself now, how on earth do I communicate with infrastructure, let's say a database, if I cannot have a dependency on that. And here, as the bard tells, lies the rub. You simply define an interface in your domain that describes a concept of an behaviour that you need. In this case how to store your entity. But you do not have a concrete implementation in your domain. And you don't need it, because interfaces are abstractions for general concepts. How exactly your entity is stored, is not a concern of your domain.
The implementation lies in an outer ring. Mostly in the outest ring, sometimes called infrastructure ring.
With your main method (the application) you then can create a suitable implementation and give it to your domain. This is often done by some dependency injection mechanism.
So in the end there is nothing mystical. Your domain defines what it needs from outer layers in a business like way and your outer rings implement and wire them.
For further reading I would recommend Uncle Bob Martin's article on the clean architecture on one of the many sites which have published it:
The clean architecture