Repository: quarkusio/quarkus
Issue: @MongoEntity with database parameter does not detect database when using mongo panache

### Describe the bug

The following is my code structure:

```
public interface BaseMongoRepository<T extends BaseMongoEntity>
         extends ReactivePanacheMongoRepository<T>  {}

public interface UserRepository 
        extends BaseMongoRepository<UserEntity> {}

public class BaseMongoRepositoryImpl<T extends BaseMongoEntity> 
        implements BaseMongoRepository<T> {}

public class UserRepositoryImpl
        extends BaseMongoRepositoryImpl<UserEntity>
        implements UserRepository

@MongoEntity(database = "userDB", collection= "users")
public class User {}
```

When I'm running this code, mongo panache fails with IllegalArgumentException:

`The database attribute was not set for the @MongoEntity annotation and neither was the database property configured for the default Mongo Client (via 'quarkus.mongodb.database').`


If I pass the default client using `quarkus.mongodb.database`, all my collections are created in the same database. However, the collections args for @MongoEntity works fine. 


### Expected behavior

When passing @MongoEntity(database = "userDB"), the collection should be created in the userDB database.

### Actual behavior

If no default database is passed in application.properties, an error is thrown. Else the collection is created in the default database.

### How to Reproduce?

_No response_

### Output of `uname -a` or `ver`

Darwin Kernel Version 21.1.0: Wed Oct 13 17:33:01 PDT 2021; root:xnu-8019.41.5~1/RELEASE_ARM64_T6000 arm64

### Output of `java -version`

openjdk version "17.0.2" 2022-01-18 OpenJDK Runtime Environment Homebrew (build 17.0.2+0) OpenJDK 64-Bit Server VM Homebrew (build 17.0.2+0, mixed mode, sharing)

### GraalVM version (if different from Java)

_No response_

### Quarkus version or git rev

2.7.0

### Build tool (ie. output of `mvnw --version` or `gradlew --version`)

Java version: 17.0.2, vendor: Homebrew, runtime: /opt/homebrew/Cellar/openjdk/17.0.2/libexec/openjdk.jdk/Contents/Home Default locale: en_IN, platform encoding: UTF-8 OS name: "mac os x", version: "12.0.1", arch: "aarch64", family: "mac"

### Additional information

_No response_

Changed files:
extensions/panache/mongodb-panache-common/runtime/src/main/java/io/quarkus/mongodb/panache/common/reactive/runtime/ReactiveMongoOperations.java

diff --git a/extensions/panache/mongodb-panache-common/runtime/src/main/java/io/quarkus/mongodb/panache/common/reactive/runtime/ReactiveMongoOperations.java b/extensions/panache/mongodb-panache-common/runtime/src/main/java/io/quarkus/mongodb/panache/common/reactive/runtime/ReactiveMongoOperations.java
index 112cb255871..bf433a4dd30 100644
--- a/extensions/panache/mongodb-panache-common/runtime/src/main/java/io/quarkus/mongodb/panache/common/reactive/runtime/ReactiveMongoOperations.java
+++ b/extensions/panache/mongodb-panache-common/runtime/src/main/java/io/quarkus/mongodb/panache/common/reactive/runtime/ReactiveMongoOperations.java
@@ -311,6 +311,9 @@ private ReactiveMongoCollection mongoCollection(Object entity) {
 
     private ReactiveMongoDatabase mongoDatabase(MongoEntity mongoEntity) {
         ReactiveMongoClient mongoClient = clientFromArc(mongoEntity, ReactiveMongoClient.class, true);
+        if (mongoEntity != null && !mongoEntity.database().isEmpty()) {
+            return mongoClient.getDatabase(mongoEntity.database());
+        }
         String databaseName = getDefaultDatabaseName(mongoEntity);
         return mongoClient.getDatabase(databaseName);
     }