On Compliance
I'm only loosely familiar with the specifics of the legislation, but as I understand it, there's nothing to indicate that database encryption is required to hold personal information and be in compliance with the General Data Protection Regulation (GDPR).
On the other hand, using appropriate encryption measures will somewhat lessen the privacy impact and notification requirements should there be a breach.
(3) The communication to the data subject referred to in paragraph 1 shall not be required if any of the following conditions are met:
a) the controller has implemented appropriate technical and organisational protection measures, and those measures were applied to the personal data affected by the personal data breach, in particular those that render the personal data unintelligible to any person who is not authorised to access it, such as encryption;
Excerpt from: https://gdpr-info.eu/art-34-gdpr/
On The Benefits of Encryption for Database Security
Encryption can significantly reduce the impact of a data breach. For example, in 2015 Patreon was breached, losing control of 15GB of data. To their credit, Patreon used strong bcrypt hashes to protect passwords, and had used secondary encryption measures to protect sensitive information like Social Security Numbers and tax information.
Had they not encrypted the information, the impact of the breach - both for Patreon and their users - would have been considerably worse.
On Key Management
If your concern is that an attacker would be able to access the key anyway, there are some steps you can take to mitigate that risk.
Ultimately, unless you use a Hardware Security Module (HSM), protecting keys is basically like playing a shell game with the attacker. One reasonably effective way to keep keys protected is not to store them on the server at all. One of my favourite solutions for this is the Azure KeyVault service.
By keeping the keys out of permanent storage on the server and retrieving them only for use from memory, it makes it considerably harder for an attacker to retrieve the key. You'll still need to store keys to access the keys... but adding that extra layer of indirection will make it harder for your attacker.