|
13 | 13 | import jakarta.transaction.Transactional; |
14 | 14 |
|
15 | 15 | import org.hibernate.SessionFactory; |
| 16 | +import org.junit.jupiter.api.Assertions; |
16 | 17 | import org.junit.jupiter.api.Test; |
17 | 18 | import org.junit.jupiter.api.extension.RegisterExtension; |
18 | 19 |
|
@@ -55,6 +56,24 @@ public class MultiplePersistenceUnitsCdiEntityManagerTest { |
55 | 56 | @Named("inventory") |
56 | 57 | SessionFactory inventoryFactory; |
57 | 58 |
|
| 59 | + @Inject |
| 60 | + @PersistenceUnit("<default>") |
| 61 | + EntityManager defaultEntityManagerWithQualifier; |
| 62 | + |
| 63 | + @Inject |
| 64 | + @PersistenceUnit("<default>") |
| 65 | + SessionFactory defaultSessionFactoryWithQualifier; |
| 66 | + |
| 67 | + @Inject |
| 68 | + @Named("<default>") |
| 69 | + @PersistenceUnit("<default>") |
| 70 | + EntityManager defaultEntityManagerWithBothQualifiers; |
| 71 | + |
| 72 | + @Inject |
| 73 | + @Named("<default>") |
| 74 | + @PersistenceUnit("<default>") |
| 75 | + SessionFactory defaultSessionFactoryWithBothQualifiers; |
| 76 | + |
58 | 77 | @Test |
59 | 78 | @Transactional |
60 | 79 | public void defaultEntityManagerInTransaction() { |
@@ -167,4 +186,20 @@ public void testUserInInventoryEntityManager() { |
167 | 186 | assertThatThrownBy(() -> inventoryEntityManager.persist(user)).isInstanceOf(IllegalArgumentException.class) |
168 | 187 | .hasMessageContaining("Unknown entity type"); |
169 | 188 | } |
| 189 | + |
| 190 | + @Test |
| 191 | + public void defaultQualifiedEntityManagerAndSessionFactoryAreInjected() { |
| 192 | + Assertions.assertNotNull(defaultEntityManagerWithQualifier, |
| 193 | + "@PersistenceUnit(\"<default>\") EntityManager should be injected and non-null"); |
| 194 | + Assertions.assertNotNull(defaultSessionFactoryWithQualifier, |
| 195 | + "@PersistenceUnit(\"<default>\") SessionFactory should be injected and non-null"); |
| 196 | + } |
| 197 | + |
| 198 | + @Test |
| 199 | + public void defaultEntityManagerAndSessionFactoryWithBothQualifiersAreInjected() { |
| 200 | + Assertions.assertNotNull(defaultEntityManagerWithBothQualifiers, |
| 201 | + "EntityManager should be injectable with both @Named and @PersistenceUnit qualifiers for <default>"); |
| 202 | + Assertions.assertNotNull(defaultSessionFactoryWithBothQualifiers, |
| 203 | + "SessionFactory should be injectable with both @Named and @PersistenceUnit qualifiers for <default>"); |
| 204 | + } |
170 | 205 | } |
0 commit comments