From dabcaf634e02a970155f63c8254912ac7ca46745 Mon Sep 17 00:00:00 2001 From: Vlad Mihalcea Date: Thu, 27 Nov 2025 10:21:26 +0200 Subject: [PATCH 1/3] Upgrade to Hibernate 7.1 --- core/pom.xml | 7 +- .../hpjp/hibernate/forum/Post.java | 4 - .../property/FluentApiPropertyAccessTest.java | 4 +- .../association/AllAssociationTest.java | 4 +- ...directionalManyToManyExtraColumnsTest.java | 2 +- ...nalManyToManyLinkEntityEmbeddableTest.java | 2 +- ...onalManyToManyLinkEntityIdColumnsTest.java | 43 +-- ...yToManyLinkEntityMapKeyJoinColumnTest.java | 2 +- ...alManyToManyLinkEntityOrderColumnTest.java | 2 +- ...BidirectionalManyToManyLinkEntityTest.java | 2 +- .../BidirectionalManyToManyListTest.java | 8 +- ...idirectionalManyToManyOrderColumnTest.java | 2 +- .../BidirectionalManyToManySetTest.java | 2 +- .../BidirectionalManyToManyTest.java | 2 +- .../BidirectionalOneToManyJoinColumnTest.java | 2 +- .../BidirectionalOneToManyMergeTest.java | 8 +- ...ToManyOrphanRemovalWithoutCascadeTest.java | 4 +- .../BidirectionalOneToManySetTest.java | 4 +- .../BidirectionalOneToManyTest.java | 4 +- .../BidirectionalOneToManyUniquenessTest.java | 4 +- ...BidirectionalOneToOneMapsIdStringTest.java | 2 +- .../BidirectionalOneToOneMapsIdTest.java | 6 +- ...eToOneNPlusOneBytecodeEnhancementTest.java | 9 +- ...tionalOneToOneNPlusOneNonOptionalTest.java | 4 +- .../BidirectionalOneToOneNPlusOneTest.java | 8 +- ...OptionalFalseEagerFetchingDefaultTest.java | 4 +- ...neOptionalFalseLazyFetchingMapsIdTest.java | 4 +- ...eOptionalTrueEagerFetchingDefaultTest.java | 4 +- ...neOptionalTrueEagerFetchingMapsIdTest.java | 4 +- .../BidirectionalOneToOneTest.java | 4 +- .../ElementCollectionArrayTest.java | 2 +- .../ElementCollectionListMergeTest.java | 8 +- .../ElementCollectionListOrderColumnTest.java | 2 +- .../ElementCollectionListTest.java | 2 +- .../ElementCollectionNestedTest.java | 4 +- .../ElementCollectionSetMergeTest.java | 4 +- .../association/ElementCollectionSetTest.java | 2 +- .../ElementCollectionSortedSetMergeTest.java | 36 +-- ...mentCollectionWithCollectionTableTest.java | 2 +- .../association/LazyToOneFalseTest.java | 5 +- .../association/LazyToOneNoProxyTest.java | 169 ----------- .../association/LazyToOneProxyTest.java | 133 --------- .../ManyToOneJoinColumnNonPKTest.java | 4 +- .../hibernate/association/ManyToOneTest.java | 4 +- .../association/MultiLevelOneToManyTest.java | 4 +- .../hibernate/association/OneToOneIdTest.java | 10 +- .../OneToOneInsertableUpdatableFalseTest.java | 4 +- .../OneToOneJoinColumnWithoutMapsIdTest.java | 4 +- .../OneToOneMapsIdJoinColumnTest.java | 4 +- .../association/OneToOneMapsIdTest.java | 4 +- .../hibernate/association/TwoMapsIdsTest.java | 4 +- ...tionalManyAsOneToManyExtraColumnsTest.java | 2 +- .../UnidirectionalManyToManySetTest.java | 2 +- ...UnidirectionalManyToManySortedSetTest.java | 2 +- .../UnidirectionalManyToManyTest.java | 2 +- ...OneToManyJoinColumnAndOrderColumnTest.java | 2 +- ...ctionalOneToManyJoinColumnNotNullTest.java | 2 +- ...directionalOneToManyJoinColumnSetTest.java | 2 +- ...UnidirectionalOneToManyJoinColumnTest.java | 2 +- ...nidirectionalOneToManySetIdEqualsTest.java | 2 +- .../UnidirectionalOneToManySetTest.java | 2 +- .../UnidirectionalOneToManyTest.java | 2 +- .../UnidirectionalOneToOneTest.java | 4 +- .../UnidirectionalOrderedOneToManyTest.java | 2 +- .../EnversAuditedDefaultStrategyTest.java | 4 +- .../audit/envers/EnversBatchInsertTest.java | 4 +- .../hibernate/LoadEventListenerTest.java | 6 +- .../listener/EventListenerIntegrator.java | 10 +- .../trigger/MySQLTriggerBasedAuditedTest.java | 13 +- .../MySQLTriggerBasedJsonAuditLogTest.java | 12 +- ...ostgreSQLTriggerBasedJsonAuditLogTest.java | 9 +- ...SQLServerTriggerBasedJsonAuditLogTest.java | 13 +- ...ugabyteDBTriggerBasedJsonAuditLogTest.java | 12 +- .../hibernate/basic/DefaultTimestampTest.java | 4 +- .../hpjp/hibernate/basic/MySQLBinaryTest.java | 4 +- .../batch/BatchMergeVsUpdateTest.java | 10 +- .../hpjp/hibernate/batch/BatchTest.java | 2 +- .../batch/BatchingOptimisticLockingTest.java | 19 +- .../hpjp/hibernate/batch/BatchingTest.java | 2 +- .../DeletingWithSQLCascadeBatchingTest.java | 4 +- .../DeletingWithoutCascadeBatchingTest.java | 2 +- .../batch/MySQLBatchInsertLoadTest.java | 2 +- .../batch/MySQLBatchRewriteTest.java | 2 +- .../batch/OracleVersionedBatchingTest.java | 2 +- .../PersistenceContextExtendedBatchTest.java | 2 +- .../batch/PostgreSQLBatchRewriteTest.java | 2 +- .../SQLServerBulkCopyForBatchInsertTest.java | 2 +- .../batch/StatelessSessionBatchingTest.java | 2 +- .../batch/VersionedBatchingTest.java | 2 +- .../AbstractBatchUpdateExceptionTest.java | 2 +- .../MySQLBatchUpdateExceptionTest.java | 2 +- .../OracleBatchUpdateExceptionTest.java | 4 +- .../PostgreSQLBatchUpdateExceptionTest.java | 2 +- .../SQLServerBatchUpdateExceptionTest.java | 2 +- .../batch/identity/IdentityBatchingTest.java | 2 +- .../MySQLIdentityStatelessSessionTest.java | 2 +- .../stateless/NoIdentityGenerator.java | 3 +- .../hibernate/binding/EntityBindingTest.java | 9 +- .../binding/ParameterBindingTest.java | 9 +- .../AbstractJPAProgrammaticBootstrapTest.java | 11 +- .../hibernate/bootstrap/BootstrapTest.java | 2 +- .../bulk/JPQLBulkUpdateDeleteTest.java | 4 +- .../BytecodeEnhancedOneToOneTest.java | 15 +- .../bytecode/BytecodeEnhancedTest.java | 2 +- ...nalOneToManyAssociationManagementTest.java | 11 +- ...onalOneToOneAssociationManagementTest.java | 14 +- .../BytecodeEnhancementDirtyCheckingTest.java | 7 +- .../hibernate/cache/CollectionCacheTest.java | 12 +- .../cache/CollectionLoadedStateTest.java | 4 +- .../EntityCacheEntryLoadedStateTest.java | 4 +- .../cache/EntityCacheEntryReferenceTest.java | 4 +- .../cache/EntityNullResultCacheTest.java | 16 +- .../hibernate/cache/InheritanceCacheTest.java | 14 +- .../hibernate/cache/JPACacheableTest.java | 6 +- .../cache/LoadedStateBenchmarkTest.java | 52 +--- .../LoadedStateReferenceEntitiesTest.java | 5 - .../hibernate/cache/QueryLoadedStateTest.java | 4 +- ...ReadWriteCacheConcurrencyStrategyTest.java | 6 +- ...rencyStrategyWithConcurrentUpdateTest.java | 22 +- .../cache/query/QueryCacheDTOTest.java | 7 +- .../cache/query/QueryCacheNPlus1Test.java | 7 +- .../hibernate/cache/query/QueryCacheTest.java | 9 +- ...yReadOnlyCacheConcurrencyStrategyTest.java | 2 +- ...CacheConcurrencyStrategyImmutableTest.java | 2 +- .../ReadOnlyCacheConcurrencyStrategyTest.java | 6 +- ...eReadOnlyCacheConcurrencyStrategyTest.java | 7 +- ...ReadWriteCacheConcurrencyStrategyTest.java | 2 +- ...ReadWriteCacheConcurrencyStrategyTest.java | 6 +- ...oncurrencyStrategyWithLockTimeoutTest.java | 17 +- ...ReadWriteCacheConcurrencyStrategyTest.java | 14 +- ...ReadWriteCacheConcurrencyStrategyTest.java | 9 +- ...sactionalCacheConcurrencyStrategyTest.java | 14 +- ...sactionalCacheConcurrencyStrategyTest.java | 15 +- .../CascadeDeleteSetFKColumnToNullTest.java | 12 +- .../hpjp/hibernate/cascade/CascadeTest.java | 16 +- ...EntityOptimisticLockingCollectionTest.java | 4 +- .../AbstractLockModeOptimisticTest.java | 5 +- .../AllPropertiesOptimisticLockingTest.java | 6 +- ...teOptimisticLockingIntegerVersionTest.java | 4 +- ...dateOptimisticLockingShortVersionTest.java | 4 +- .../CascadeLockElementCollectionTest.java | 142 +-------- .../concurrency/CascadeLockManyToOneTest.java | 19 +- .../concurrency/CascadeLockTest.java | 158 +--------- ...ascadeLockUnidirectionalOneToManyTest.java | 160 +--------- .../DefaultOptimisticLockingTest.java | 6 +- .../EntityFirstLevelCacheReuseTest.java | 4 +- ...idirectionalChildOwningCollectionTest.java | 2 +- ...directionalParentOwningCollectionTest.java | 4 +- ...isticLockingOnComponentCollectionTest.java | 4 +- ...LockingOnUnidirectionalCollectionTest.java | 4 +- ...directionalParentOwningCollectionTest.java | 2 +- .../concurrency/FollowOnLockingTest.java | 78 +++-- .../LockModeOptimisticForceIncrementTest.java | 11 +- .../LockModeOptimisticRaceConditionTest.java | 11 +- .../concurrency/LockModeOptimisticTest.java | 6 +- ...LockModePessimisticForceIncrementTest.java | 11 +- .../LockModePessimisticReadWriteTest.java | 43 +-- .../hibernate/concurrency/NoWaitTest.java | 4 +- ...misticLockingAggregateRootVersionTest.java | 12 +- ...irectionalChildUpdatesRootVersionTest.java | 12 +- .../OptimisticLockingContractTest.java | 12 +- ...DirtyVersioningSelectBeforeUpdateTest.java | 108 ------- ...sticLockingOneRootDirtyVersioningTest.java | 33 +-- ...kingOneRootEntityMultipleVersionsTest.java | 9 +- ...ptimisticLockingOneRootOneVersionTest.java | 2 +- .../OptimisticLockingRepeatableReadTest.java | 4 +- .../concurrency/SkipLockJobQueueTest.java | 6 +- .../VersionWrapperOptimisticLockingTest.java | 6 +- .../ACIDRaceConditionIsolationLevelTest.java | 4 +- .../acid/ACIDRaceConditionTest.java | 4 +- ...ositiveBalanceCheckFirstOperationTest.java | 4 +- ...PositiveBalanceCheckLastOperationTest.java | 4 +- .../concurrency/deadlock/DeadLockTest.java | 6 +- .../deadlock/SQLServerDeadLockTest.java | 5 +- .../fk/MySQLFKNoParentLockRRTest.java | 2 +- ...racleNoFKNoParentLockSerializableTest.java | 2 +- .../fk/PostgreSQLNoFKNoParentLockRRTest.java | 2 +- .../fk/SQLServerFKParentLockRCSITest.java | 4 +- ...erNoFKParentLockRCSIDynamicUpdateTest.java | 4 +- .../concurrency/latch/CountDownLatchTest.java | 4 +- .../linearizable/JavaLinearizableTest.java | 6 +- .../PostgreSQLRowLevelLockingTest.java | 41 ++- ...DBColumnLevelLockingDefaultUpdateTest.java | 4 +- ...DBColumnLevelLockingReadCommittedTest.java | 10 +- .../YugabyteDBColumnLevelLockingTest.java | 8 +- .../SQLServerUpsertAlternativeTest.java | 2 +- .../DefaultMinValueShortVersionTest.java | 4 +- .../version/DefaultMinValueVersionTest.java | 6 +- .../version/MinValueIntegerVersionTest.java | 4 +- .../version/MinValueVersionTest.java | 4 +- .../version/TimestampVersionTest.java | 6 +- .../concurrency/version/VersionTest.java | 29 +- .../AbstractConnectionProviderTest.java | 4 +- .../DriverManagerConnectionProviderTest.java | 2 +- .../hibernate/connection/FlexyPoolTest.java | 14 +- .../HikariConnectionThreadBoundTest.java | 2 +- ...ceLocalDelayConnectionAcquisitionTest.java | 6 +- .../connection/SessionDoWorkTest.java | 6 +- .../UserSuppliedConnectionProviderTest.java | 6 +- .../HandlingModeJtaConnectionReleaseTest.java | 14 +- .../jta/JTAConnectionReleaseTest.java | 10 +- .../jta/JTAConnectionThreadBoundTest.java | 8 +- .../CriteriaBulkUpdateDeleteTest.java | 4 +- .../criteria/CriteriaCountGroupByTest.java | 4 +- .../hpjp/hibernate/criteria/TupleTest.java | 7 +- .../blaze/BlazePersistenceCriteriaTest.java | 4 +- .../BlazePersistenceBulkUpdateDeleteTest.java | 4 +- .../tab/BlazePersistenceTabInstanceTest.java | 9 +- .../literal/DefaultCriteriaLiteralTest.java | 4 +- .../equality/AbstractEqualityCheckTest.java | 38 +-- .../equality/DefaultEqualityTest.java | 6 +- .../equality/DefaultIdEqualityTest.java | 6 +- .../equality/IdEqualityParentChildTest.java | 2 +- .../hibernate/equality/IdEqualityTest.java | 4 +- .../equality/IdWasNullEqualityTest.java | 2 +- .../equality/NaturalIdEqualityTest.java | 2 +- .../hibernate/equality/UUIDEqualityTest.java | 2 +- .../fetching/BatchSizeCollectionTest.java | 16 +- .../CriteriaAPIEntityTypeJoinedTest.java | 4 +- .../fetching/CriteriaAPIEntityTypeTest.java | 4 +- .../fetching/CriteriaAPIMemberOfTest.java | 7 +- .../hibernate/fetching/CriteriaAPITest.java | 12 +- .../hpjp/hibernate/fetching/DistinctTest.java | 4 +- ...gerFetchingCollectionsFindVsQueryTest.java | 4 +- .../EagerFetchingCollectionsQueryTest.java | 4 +- ...EagerFetchingManyToOneEntityGraphTest.java | 4 +- .../fetching/EagerFetchingManyToOneTest.java | 4 +- .../fetching/EntityGraphEagerPostTest.java | 4 +- .../hibernate/fetching/EntityGraphTest.java | 11 +- .../fetching/ExtraLazyCollectionTest.java | 182 ------------ .../fetching/FetchAllAssociationsTest.java | 17 +- ...etchTypeEagerManyToOneEntityGraphTest.java | 4 +- .../fetching/FindByMultipleIdsTest.java | 6 +- .../hibernate/fetching/FindEntityTest.java | 27 +- .../fetching/FindVsGetReferenceTest.java | 4 +- .../hibernate/fetching/GroupByMapTest.java | 4 +- .../fetching/HibernateInitializeTest.java | 24 +- .../fetching/HibernateProxyTest.java | 4 +- .../hibernate/fetching/LazyAttributeTest.java | 6 +- ...LazyAttributeWithMultipleEntitiesTest.java | 6 +- .../LazyFetchingManyToOneFindEntityTest.java | 14 +- .../LazyInitializationExceptionFixTest.java | 2 +- ...InitializationExceptionFixWithDTOTest.java | 2 +- .../LazyInitializationExceptionTest.java | 6 +- ...yInitializationOutsideTransactionTest.java | 2 +- ...MySQLScrollableResultsNoStreamingTest.java | 62 +--- ...leResultsStreamingCustomFetchSizeTest.java | 64 +--- .../MySQLScrollableResultsStreamingTest.java | 61 +--- ...eEagerFetchingManyToOneFindEntityTest.java | 2 +- ...neLazyFetchingManyToOneFindEntityTest.java | 2 +- ...gWithSubselectManyToOneFindEntityTest.java | 4 +- .../NPlusOneManyToOneEagerTechingTest.java | 2 +- .../fetching/NPlusOneSQLFetchingFKTest.java | 2 +- .../NamedNativeQueryParameterTest.java | 4 +- .../fetching/NamedQueryPerformanceTest.java | 4 - .../hibernate/fetching/NativeQueryTest.java | 4 +- .../hibernate/fetching/NaturalIdTest.java | 6 +- .../PlanCacheSizePerformanceTest.java | 88 +++--- ...tgreSQLScrollableResultsStreamingTest.java | 4 +- .../hibernate/fetching/ProjectionTest.java | 6 +- ...iationFetchingEventListenerIntegrator.java | 10 +- .../detector/EagerFetchingDetectorTest.java | 14 +- ...ostgreSQLCopyQueryResultSetToFileTest.java | 4 +- .../fetching/maxrows/MySQLSetMaxRowsTest.java | 4 +- .../maxrows/OracleSetMaxRowsTest.java | 6 +- .../maxrows/PostgreSQLSetMaxRowsTest.java | 4 +- .../maxrows/SQLServerSetMaxRowsTest.java | 4 +- .../multiple/CriteriaAPIFetchingTest.java | 4 +- ...ngMultipleBagLazyCollectionOptionTest.java | 216 -------------- .../EagerFetchingMultipleBagTest.java | 6 +- .../EagerFetchingMultipleSetTest.java | 6 +- .../EagerFetchingMultipleToOneTest.java | 4 +- .../MultiLevelCollectionFetchingTest.java | 4 +- ...ilOnPaginationWithCollectionFetchTest.java | 6 +- .../fetching/pagination/PaginationTest.java | 10 +- .../blaze/BlazeKeysetPaginationTest.java | 2 +- .../hibernate/flushing/AlwaysFlushTest.java | 4 +- .../flushing/BatchProcessingArticleTest.java | 2 +- .../flushing/BatchProcessingTest.java | 2 +- ...hancementDirtyCheckingPerformanceTest.java | 75 ++--- .../hibernate/flushing/CommitFlushTest.java | 4 +- .../DefaultDirtyCheckingPerformanceTest.java | 56 ++-- ...bernateAlwaysFlushSessionBuilderTest.java} | 17 +- .../flushing/HibernateAutoFlushTest.java | 4 +- .../flushing/HibernateDeleteEntityTest.java | 4 +- .../flushing/HibernateSaveSequenceTest.java | 8 +- .../hibernate/flushing/JPAAutoFlushTest.java | 4 +- .../flushing/JPARemoveEntityTest.java | 2 +- .../hibernate/flushing/ManualFlushTest.java | 4 +- .../flushing/PersistIdentityTest.java | 2 +- .../flushing/PersistSequenceTest.java | 2 +- .../hibernate/flushing/ReadOnlyQueryTest.java | 17 +- .../hpjp/hibernate/flushing/RefreshTest.java | 22 +- .../flushing/SessionAlwaysFlushTest.java | 4 +- ...hOrderBidirectionalOneToManyMergeTest.java | 8 +- .../flushing/order/FlushOrderTest.java | 10 +- .../AbstractPooledSequenceIdentifierTest.java | 2 +- .../identifier/AssignedIdentifierTest.java | 4 +- .../identifier/AutoIdentifierMySQLTest.java | 2 +- .../BaseClassIdentifierMySQLTest.java | 2 +- .../EntityIdentifierCockroachDBTest.java | 4 +- ...ityIdentifierTimestampCockroachDBTest.java | 4 +- .../identifier/HiloIdentifierTest.java | 18 +- .../HiloPooledDefaultSwitchTest.java | 6 +- .../identifier/HiloPooledMigrationTest.java | 6 +- .../MySQLIdentityIdentifierTest.java | 2 +- .../identifier/MySQLNativeIdentifierTest.java | 2 +- .../hibernate/identifier/OracleRowIdTest.java | 2 +- .../PooledDefaultSequenceIdentifierTest.java | 2 +- .../PooledLoSequenceIdentifierTest.java | 23 +- .../PooledSequenceIdentifierTest.java | 2 +- .../identifier/PostgreSQLSerialTest.java | 4 +- ...eferredPooledLoSequenceIdentifierTest.java | 2 +- .../identifier/SQLServerScopeIdentity.java | 4 +- .../SequenceVsTableGeneratorTest.java | 2 +- .../SimpleSequenceIdentifierTest.java | 2 +- .../identifier/SimpleTableIdentifierTest.java | 2 +- .../access/EmbeddableAccessStrategyTest.java | 4 +- ...mbeddableCollectionAccessStrategyTest.java | 4 +- .../access/OverrideAccessStrategyTest.java | 2 +- .../AssignedTableBatchIdentifierTest.java | 49 --- .../batch/AssignedTableGenerator.java | 27 -- ...toIdentifierWithSequenceGeneratorTest.java | 2 +- .../batch/BatchSequenceIdentifierTest.java | 2 +- .../batch/IdentityIdentifierTest.java | 2 +- .../batch/MariaDBIdentifierTest.java | 6 +- ...ooledLoGenericGeneratorIdentifierTest.java | 2 +- .../batch/PostgresTableGeneratorTest.java | 2 +- .../SequenceAllocationSizeIdentifierTest.java | 11 +- .../SequenceGeneratorIdentifierTest.java | 2 +- .../batch/SequenceIdentifierTest.java | 2 +- .../TableAllocationSizeIdentifierTest.java | 18 +- .../identifier/batch/TableIdentifierTest.java | 2 +- .../ConcurrentBatchIdentifierTest.java | 86 +++--- .../providers/SequencePostEntityProvider.java | 6 +- .../providers/TablePostEntityProvider.java | 7 +- .../batch/jta/JTATableIdentifierTest.java | 8 +- .../hibernate/identifier/batch/jta/Post.java | 8 +- .../CompositeIdGeneratedIdClassTest.java | 6 +- .../CompositeIdIdentityGeneratedTest.java | 4 +- .../composite/CompositeIdManyToOneTest.java | 6 +- ...mpositeIdManyToOneWithCompanyInIdTest.java | 6 +- .../composite/CompositeIdOneToOneTest.java | 4 +- .../global/MySQLIdentifierTest.java | 2 +- .../global/PostgreSQLIdentifierTest.java | 2 +- .../GlobalIdentifierGeneratorScopeTest.java | 2 +- .../SequenceOptimizerIdentifierTest.java | 55 ++-- .../Sequence10PostEntityProvider.java | 5 +- .../Sequence1PostEntityProvider.java | 9 +- .../Sequence50PostEntityProvider.java | 9 +- .../Sequence5PostEntityProvider.java | 3 +- .../providers/Table10PostEntityProvider.java | 4 +- .../providers/Table1PostEntityProvider.java | 3 +- .../providers/Table50PostEntityProvider.java | 3 +- .../providers/Table5PostEntityProvider.java | 3 +- .../identifier/string/StringSequence.java | 26 ++ .../StringSequenceIdentifierGenerator.java} | 49 +-- .../StringSequenceIdentifierTest.java | 43 ++- .../hibernate/identifier/tsid/TsidTest.java | 4 +- .../uuid/AssignedUUIDIdentifierTest.java | 4 +- .../uuid/AutoUUIDIdentifierTest.java | 2 +- .../uuid/PostgreSQLUUIDIdentifierTest.java | 2 +- .../identifier/uuid/UUID2IdentifierTest.java | 2 +- .../identifier/uuid/UUIDIdentifierTest.java | 2 +- .../index/DefaultDatabaseIndexTest.java | 40 +-- ...ringParametersAsUnicodeComparisonTest.java | 33 ++- .../postgres/PostgreSQLBRINIndexTest.java | 2 +- .../PostgreSQLBalancedTreeIndexTest.java | 2 +- .../postgres/PostgreSQLGINIndexTest.java | 2 +- .../postgres/PostgreSQLHashIndexTest.java | 10 +- .../hot/PostgreSQLCtidDefaultUpdateTest.java | 2 +- .../postgres/hot/PostgreSQLCtidTest.java | 2 +- .../hot/PostgreSQLCtidVersionIndexTest.java | 2 +- .../hot/PostgreSQLHOTDynamicUpdateTest.java | 2 +- .../inheritance/ImplicitPolymorphismTest.java | 4 +- .../JoinedTableBulkDeleteTest.java | 4 +- .../JoinedTableDiscriminatorColumnTest.java | 6 +- .../JoinedTableDiscriminatorTest.java | 4 +- .../JoinedTablePrimaryKeyJoinColumnTest.java | 6 +- .../inheritance/JoinedTableTest.java | 6 +- .../inheritance/MappedSuperclassTest.java | 4 +- .../SingleTableCheckConstraintTest.java | 4 +- .../SingleTableMySQLTriggerTest.java | 4 +- .../inheritance/SingleTableTest.java | 6 +- .../SortIndexCollectionInheritance.java | 2 +- .../TablePerClassMySQLUnionAllTest.java | 28 -- .../TablePerClassMySQLUnionTest.java | 28 -- .../inheritance/TablePerClassTest.java | 4 +- .../discriminator/CharDiscriminatorTest.java | 4 +- .../DefaultDiscriminatorTest.java | 4 +- .../DefaultIntegerDiscriminatorTest.java | 4 +- .../JoinedStringDiscriminatorTest.java | 4 +- .../JoinedStringWithoutDiscriminatorTest.java | 4 +- .../MySQLIntegerDiscriminatorTest.java | 4 +- .../PostgreSQLIntegerDiscriminatorTest.java | 4 +- .../StringDiscriminatorTest.java | 4 +- .../IntegerDiscriminatorDescriptionTest.java | 6 +- .../embeddable/EmbeddedInheritanceTest.java | 6 +- .../spring/BehaviorDrivenInheritanceTest.java | 8 +- .../listener/EntityReplicationTest.java | 12 +- .../hibernate/listener/UpdatableTest.java | 2 +- .../DataSourceProxySlowQueryLogTest.java | 4 +- .../logging/DataSourceProxyTest.java | 2 +- .../logging/HibernateLoggingTest.java | 2 +- .../hibernate/logging/MDCLoggingTest.java | 4 +- .../logging/MySQLMDCLoggingTest.java | 4 +- .../hpjp/hibernate/logging/P6spyTest.java | 2 +- .../logging/QueryStackTraceLoggerTest.java | 2 +- .../StatementInspectorLoggingTest.java | 2 +- .../comment/HibernateCommentLoggingTest.java | 4 +- .../logging/inspector/SQLCommentTest.java | 4 +- .../SQLStatementCountValidatorTest.java | 10 +- .../hibernate/mapping/DefaultUpdateTest.java | 2 +- .../hibernate/mapping/DynamicUpdateTest.java | 2 +- .../hibernate/mapping/FluentSettersTest.java | 4 +- .../hpjp/hibernate/mapping/GeneratedTest.java | 11 +- .../HibernateImmutableExceptionTest.java | 4 +- ...java => HibernateImmutableUpdateTest.java} | 64 ++-- .../mapping/HydratedStateListenerTest.java | 2 +- .../mapping/JPAFluentInterfaceTest.java | 4 +- .../hibernate/mapping/JPAImmutableTest.java | 11 +- .../mapping/JoinFormulaCollationTest.java | 4 +- .../JoinFormulaLastMonthSalaryTest.java | 8 +- .../hibernate/mapping/JoinFormulaTest.java | 6 +- .../mapping/LatestChildJoinFormulaTest.java | 6 +- .../mapping/MapsIdWithManyToOneTest.java | 6 +- .../mapping/MapsIdWithOneToOneTest.java | 4 +- .../mapping/MultipleEntitiesOneTableTest.java | 4 +- .../mapping/OptionalAttributeTest.java | 2 +- .../calculated/FormulaCurrentDateTest.java | 6 +- .../mapping/calculated/FormulaTest.java | 4 +- .../calculated/JPACalculatedPostLoadTest.java | 4 +- .../mapping/calculated/JpaCalculatedTest.java | 4 +- .../compact/MySQLCountryByteIdTest.java | 2 +- .../compact/MySQLCountryShortIdTest.java | 2 +- ...PostgreSQLCountryIntIdAutoPaddingTest.java | 2 +- .../PostgreSQLCountryIntIdNoPaddingTest.java | 2 +- ...stgreSQLCountryShortIdAutoPaddingTest.java | 2 +- ...PostgreSQLCountryShortIdNoPaddingTest.java | 2 +- .../EmbeddableEntityListenerTest.java | 2 +- .../embeddable/EmbeddableInheritanceTest.java | 2 +- .../mapping/embeddable/EmbeddableTest.java | 4 +- .../mapping/encrypt/MySQLEncryptTest.java | 13 +- .../mapping/encrypt/MySQLJsonEncryptTest.java | 4 +- .../encrypt/PostgreSQLEncryptTest.java | 4 +- .../enums/CustomOrdinalEnumConverterTest.java | 4 +- .../mapping/enums/EnumCustomOrdinalTest.java | 4 +- .../EnumOrdinalDescriptionMySQLTest.java | 6 +- .../enums/EnumOrdinalDescriptionTest.java | 4 +- .../enums/EnumOrdinalMySQLWithCheckTest.java | 6 +- .../EnumOrdinalMySQLWithoutCheckTest.java | 6 +- .../mapping/enums/EnumOrdinalOracleTest.java | 4 +- .../mapping/enums/EnumOrdinalTest.java | 4 +- .../mapping/enums/EnumPostgreSQLTest.java | 13 +- .../EnumStringPostgreSQLWithCheckTest.java | 4 +- .../EnumStringPostgreSQLWithoutCheckTest.java | 6 +- .../mapping/enums/EnumStringTest.java | 2 +- .../mapping/generated/LoggedUserTest.java | 73 ++--- .../SequenceDefaultColumnValueTest.java | 8 +- .../softdelete/SoftDeleteAnnotationTest.java | 8 +- .../mapping/softdelete/SoftDeleteTest.java | 32 +- .../SoftDeleteVersionAnnotationTest.java | 8 +- .../softdelete/SoftDeleteVersionTest.java | 37 +-- .../hibernate/mapping/types/EmbeddedTest.java | 4 +- .../metadata/MetadataExtractorIntegrator.java | 9 +- .../hpjp/hibernate/metadata/MetadataTest.java | 2 +- .../multitenancy/CatalogMultitenancyTest.java | 2 +- .../multitenancy/SchemaMultitenancyTest.java | 2 +- .../PostgreSQLTablePartitionTest.java | 4 +- .../partition/TablePartitionTest.java | 4 +- .../multitenancy/partition/model/Post.java | 13 +- ...amelCaseToSnakeCaseNamingStrategyTest.java | 4 +- .../hibernate/naming/DefaultNamingTest.java | 4 +- .../hpjp/hibernate/pc/CloneTest.java | 2 +- .../SaveVariantsSelectBeforeUpdateTest.java | 93 ------ .../hpjp/hibernate/pc/SaveVariantsTest.java | 151 +--------- .../hpjp/hibernate/query/EscapeLikeTest.java | 4 +- .../hpjp/hibernate/query/InQueryTest.java | 4 +- .../query/JoinUnrelatedEntitiesTest.java | 6 +- ...ithChildMatchAllFilteringCriteriaTest.java | 140 +++++---- .../query/MySQLExecutionPlanTest.java | 2 +- .../query/NativeQueryEntityMappingTest.java | 4 +- .../NativeQueryWithCustomSchemaTest.java | 8 +- .../OracleExecutionPlanNativeQueryTest.java | 4 +- .../hibernate/query/PostgreSQLCastTest.java | 8 +- .../query/PostgreSQLExecutionPlanTest.java | 2 +- ...ostgreSQLNativeQueryNullParameterTest.java | 2 +- .../query/PostgreSQLUpdateNullTest.java | 6 +- .../query/RowValueExpressionTest.java | 2 +- .../hibernate/query/RunningTotalTest.java | 4 +- .../hibernate/query/SQLInjectionTest.java | 12 +- .../hibernate/query/UpdateSubQueryTest.java | 4 +- .../query/WindowFunctionGroupingTest.java | 4 +- .../query/WindowFunctionPercentilesTest.java | 4 +- .../WindowFunctionUpdateByGroupingTest.java | 7 +- .../hpjp/hibernate/query/YugabyteDBTest.java | 6 +- .../query/any/PostgreSQLAnyClauseTest.java | 4 +- .../hibernate/query/cte/DerivedTableTest.java | 4 +- .../hpjp/hibernate/query/cte/WithCTETest.java | 8 +- .../query/dto/mixed/DTOWithEntityTest.java | 4 +- .../hibernate/HibernateDTOProjectionTest.java | 4 +- .../projection/jpa/JPADTOProjectionTest.java | 4 +- ...lassImportIntegratorPropertyClassTest.java | 4 +- ...tegratorPropertyObjectExcludePathTest.java | 4 +- ...assImportIntegratorPropertyObjectTest.java | 4 +- ...TOProjectionClassImportIntegratorTest.java | 4 +- .../projection/record/EntityToRecordTest.java | 4 +- .../dto/projection/record/PostLegacyTest.java | 4 +- .../record/PostRecordOverrideTest.java | 4 +- .../dto/projection/record/PostRecordTest.java | 4 +- .../escape/HibernateEscapeKeywordTest.java | 4 +- ...capeKeywordSkipReservedIdentifierTest.java | 4 +- .../HibernateGlobalEscapeKeywordTest.java | 4 +- .../query/escape/JPAEscapeKeywordTest.java | 4 +- .../query/escape/NoEscapeKeywordTest.java | 6 +- .../SQLServerEscapeQuestionCharacterTest.java | 4 +- .../DateTruncTimeZoneFunctionTest.java | 8 +- .../function/DateTruncUtcFunctionTest.java | 8 +- .../function/GroupConcatFunctionTest.java | 4 +- .../query/function/ToDateFunctionTest.java | 4 +- .../query/hierarchical/AbstractTreeTest.java | 3 +- .../query/hierarchical/TreeCTETest.java | 4 +- .../query/hierarchical/TreeConnectByTest.java | 4 +- .../query/hierarchical/TreeTest.java | 6 +- .../query/join/SQLInnerJoinTest.java | 4 +- .../query/join/algorithm/HashJoinSqlTest.java | 4 +- .../query/join/algorithm/HashJoinTest.java | 4 +- .../join/algorithm/MergeJoinSqlTest.java | 4 +- .../query/join/algorithm/MergeJoinTest.java | 4 +- .../join/algorithm/NestedLoopsSqlTest.java | 4 +- .../query/join/algorithm/NestedLoopsTest.java | 4 +- .../query/mapping/ResultSetMappingTest.java | 6 +- .../hpjp/hibernate/query/pivot/PivotTest.java | 4 +- .../plan/DefaultInQueryPlanCacheTest.java | 4 +- .../plan/PaddingInQueryPlanCacheTest.java | 4 +- .../query/recursive/PostCommentScore.java | 32 +- .../WithRecursiveCTEFetchingTest.java | 28 +- .../WithRecursiveCTEHibernateTest.java | 4 +- .../BookCategoryWithRecursiveCTETest.java | 4 +- ...stractPostCommentScorePerformanceTest.java | 60 ++-- ...stCommentScoreFetchAllPerformanceTest.java | 8 +- ...ntScoreFetchProjectionPerformanceTest.java | 8 +- ...mmentScoreRecursiveCTEPerformanceTest.java | 8 +- ...coreRecursiveCTESelectPerformanceTest.java | 8 +- .../complex/PostCommentScoreTest.java | 278 ++++++++++++------ ...stractPostCommentScorePerformanceTest.java | 51 ++-- ...FetchProjectionOrderByPerformanceTest.java | 4 - ...eFetchProjectionPerformanceStreamTest.java | 4 - ...ntScoreFetchProjectionPerformanceTest.java | 4 - ...mmentScoreRecursiveCTEPerformanceTest.java | 4 - .../simple/PostCommentScoreTest.java | 4 +- .../query/sets/UnionIntersectExceptTest.java | 4 +- .../hibernate/query/spatial/SpatialTest.java | 4 +- .../query/subquery/SubqueryExistsTest.java | 6 +- .../hibernate/query/time/ExtractTest.java | 4 +- .../query/timeout/QueryTimeoutTest.java | 8 +- .../SQLServerJDBCQueryTimeoutTest.java | 6 +- .../timeout/SQLServerJPAQueryTimeoutTest.java | 6 +- .../timeout/SQLServerLockTimeoutTest.java | 6 +- .../SQLServerServerSideTimeoutTest.java | 5 +- .../timeout/SessionQueryTimeoutTest.java | 6 +- .../upsert/HibernateUpsertMergeTest.java | 6 +- .../upsert/HibernateUpsertOnConflictTest.java | 6 +- .../upsert/MySQLUpsertUniqueColumnTest.java | 4 +- .../PostgreSQLUpsertConcurrencyTest.java | 6 +- .../WindowFunctionRunningTotalTest.java | 20 +- .../DropPostgreSQLPublicSchemaTest.java | 13 +- .../hibernate/schema/flyway/FlywayTest.java | 12 +- ...tyHistorySQLServerStoredProcedureTest.java | 7 +- .../sp/MySQLStoredProcedureTest.java | 4 +- ...racleCustomSQLWithStoredProcedureTest.java | 28 +- ...eDeleteGlobalTableStoredProcedureTest.java | 2 +- .../sp/OracleDeleteStoredProcedureTest.java | 6 +- .../sp/OracleStoredProcedureTest.java | 9 +- .../sp/PostgreSQLStoredProcedureQATest.java | 6 +- .../sp/PostgreSQLStoredProcedureTest.java | 4 +- .../sp/SQLServerStoredProcedureTest.java | 9 +- .../statistics/ConnectionStatisticsTest.java | 6 +- .../statistics/SlowQueryLogTest.java | 4 +- .../hpjp/hibernate/time/JavaSqlDateTest.java | 4 +- .../hpjp/hibernate/time/JavaUtilDateTest.java | 4 +- .../time/LocalDateAndLocalDateTimeTest.java | 4 +- .../hibernate/time/ZonedDateTimeTest.java | 4 +- .../time/offset/MySQLOffsetDateTimeTest.java | 4 +- .../offset/OffsetDateTimeOffsetTimeTest.java | 8 +- .../time/offset/OffsetDateTimeTest.java | 4 +- .../offset/PostgreSQLOffsetDateTimeTest.java | 4 +- .../time/utc/DefaultMySQLTimestampTest.java | 4 +- .../utc/DefaultPostgreSQLTimestampTest.java | 4 +- .../transaction/ConsistencyTest.java | 2 +- ...tipleTransactionsPerEntityManagerTest.java | 2 +- .../SessionContainsTransactionTest.java | 4 +- .../identifier/OracleTransactionIdTest.java | 4 +- .../identifier/TransactionIdTest.java | 39 +-- .../hibernate/type/CharacterTypeTest.java | 7 +- .../type/IPv4InetAddressJavaTypeTest.java | 4 +- .../type/IPv4PostgreSQLInetJdbcTypeTest.java | 8 +- .../hpjp/hibernate/type/IPv4TypeTest.java | 4 +- .../hibernate/type/LongToNumericTypeTest.java | 2 +- .../hibernate/type/MySQLTextStringTest.java | 2 +- .../hibernate/type/PostgreSQLRangeTest.java | 6 +- .../type/PostgresSelectGeneratorTest.java | 13 +- .../hibernate/type/PostgresUUIDIdTest.java | 16 +- .../type/PostgresUUIDPropertyTest.java | 16 +- .../hpjp/hibernate/type/PostgresUUIDTest.java | 23 +- .../hpjp/hibernate/type/TaskTypingTest.java | 2 +- .../type/array/EnumArrayTypeTest.java | 4 +- .../type/array/PostgreSQLArrayTypeTest.java | 4 +- .../type/array/PostgreSQLArrayUnnestTest.java | 2 +- ...buteConverterMonthDayAutoRegisterTest.java | 4 +- .../AttributeConverterMonthDayTest.java | 6 +- .../MySQLYearAndMonthIntegerTest.java | 4 +- .../MySQLYearMonthIntegerTest.java | 4 +- .../PostgreSQLYearMonthDateTest.java | 4 +- ...earMonthIntegerConverterAutoApplyTest.java | 4 +- .../PostgreSQLYearMonthIntegerTest.java | 4 +- .../attributeconverter/YearAndMonthTest.java | 4 +- .../type/binary/MySQLBinaryTypeTest.java | 4 +- .../hibernate/type/datetime/DateTimeTest.java | 6 +- .../hibernate/type/datetime/InstantTest.java | 6 +- .../type/datetime/LocalDateTimeTest.java | 6 +- .../type/datetime/MySQLDateTimeTest.java | 2 +- .../MySQLJavaDateTimeJDBCBindingTest.java | 4 +- .../PostgreSQLIntervalDurationTest.java | 4 +- ...PostgreSQLJavaDateTimeJDBCBindingTest.java | 4 +- ...PostgreSQLTimestampTimezoneHikariTest.java | 4 +- .../PostgreSQLTimestampTimezoneTest.java | 4 +- .../SQLServerJavaDateTimeJDBCBindingTest.java | 4 +- .../datetime/WebToDatabaseTimestampTest.java | 2 +- ...leAllTimestampTypesOffsetDateTimeTest.java | 4 +- .../oracle/OracleDateVsTimestampTest.java | 4 +- .../OracleJavaDateTimeJDBCBindingTest.java | 4 +- .../oracle/OracleTimestampColumnSizeTest.java | 2 +- ...mestampWithTimeZoneOffsetDateTimeTest.java | 4 +- ...racleTimestampWithTimeZoneVsLocalTest.java | 6 +- ...imestampWithTimeZoneZonedDateTimeTest.java | 4 +- .../SQLServerDateTimeColumnSizeTest.java | 2 +- ...SQLServerDateTimeOffsetColumnSizeTest.java | 2 +- .../oracle/SQLServerDateTimeVsOffsetTest.java | 4 +- .../type/json/MySQLJsonRecordTest.java | 4 +- .../type/json/MySQLJsonTypeTest.java | 4 +- ...PostgreSQLJsonBinaryTypeLazyGroupTest.java | 4 +- .../PostgreSQLJsonBinaryTypeNativeTest.java | 30 +- .../json/PostgreSQLJsonBinaryTypeTest.java | 4 +- .../json/PostgreSQLJsonDynamicUpdateTest.java | 2 +- .../PostgreSQLJsonNodeBinaryTypeTest.java | 6 +- .../type/json/PostgreSQLJsonRecordTest.java | 4 +- .../json/PostgreSQLJsonStringTypeTest.java | 4 +- .../json/PostgreSQLJsonTypeRegistryTest.java | 4 +- .../json/PostgreSQLNativeJsonMapTest.java | 2 +- ...PostgreSQLJsonNodeBinaryTypeFetchTest.java | 4 +- ...ueryScalarJsonNodeBinaryTypeFetchTest.java | 4 +- .../type/money/MonetaryAmountTypeTest.java | 4 +- .../hpjp/hibernate/view/SubselectTest.java | 4 +- .../hpjp/hibernate/view/ViewTest.java | 4 +- .../AbstractBatchPreparedStatementTest.java | 7 +- .../batch/AbstractBatchStatementTest.java | 9 +- .../batch/BatchPreparedStatementTest.java | 6 - .../hpjp/jdbc/batch/BatchStatementTest.java | 6 - .../MySQLBatchPreparedStatementTest.java | 40 ++- .../jdbc/batch/MySQLBatchStatementTest.java | 33 +-- ...ySQLRewriteBatchPreparedStatementTest.java | 33 +-- .../batch/NoBatchPreparedStatementTest.java | 8 +- .../hpjp/jdbc/batch/NoBatchStatementTest.java | 6 - .../jdbc/batch/OracleBatchStatementTest.java | 4 +- ...aultExecuteBatchPreparedStatementTest.java | 35 +-- .../PostgreSQLRewriteBatchInsertsTest.java | 33 +-- ...BulkCopyForBatchInsertPerformanceTest.java | 33 +-- .../hpjp/jdbc/batch/SimpleBatchTest.java | 5 +- ...neratedKeysBatchPreparedStatementTest.java | 2 +- ...neratedKeysBatchPreparedStatementTest.java | 6 +- ...neratedKeysBatchPreparedStatementTest.java | 2 +- ...neratedKeysBatchPreparedStatementTest.java | 38 +-- .../sequence/AbstractSequenceCallTest.java | 6 +- ...neratedKeysBatchPreparedStatementTest.java | 2 +- .../jdbc/caching/MySQLStatementCacheTest.java | 67 ++--- .../OracleExplicitStatementCacheTest.java | 8 +- .../OracleImplicitStatementCacheTest.java | 13 +- .../OraclePreparedStatementLifecycleTest.java | 8 +- .../caching/PostgreSQLPlanCacheModeTest.java | 13 +- ...tgreSQLPreparedStatementCompilingTest.java | 4 +- .../PostgreSQLStatementCachePoolingTest.java | 2 +- .../caching/PostgreSQLStatementCacheTest.java | 4 +- .../SQLServerImplicitStatementCacheTest.java | 8 +- ...LServerPreparedStatementLifecycleTest.java | 6 +- .../caching/StatementCachePoolableTest.java | 61 ++-- .../hpjp/jdbc/caching/StatementCacheTest.java | 95 +++--- .../connection/ConnectionPoolCallTest.java | 11 +- .../connection/ConnectionPoolThreadsTest.java | 4 +- .../connection/FlexyPoolAutoSizingTest.java | 2 +- .../connection/OracleConnectionCallTest.java | 6 +- .../hpjp/jdbc/fetching/JDBCVsJPATest.java | 6 +- .../fetching/OracleResultSetLimitTest.java | 38 +-- .../jdbc/fetching/ResultSetCursorTest.java | 13 +- .../jdbc/fetching/ResultSetFetchSizeTest.java | 41 +-- .../jdbc/fetching/ResultSetLimitTest.java | 10 +- .../fetching/ResultSetProjectionTest.java | 9 +- .../fetching/ResultSetScollabilityTest.java | 13 +- .../fetching/SQLServerResultSetLimitTest.java | 33 +-- .../SQLStandardResultSetLimitTest.java | 49 ++- .../jdbc/index/MySQLIndexSelectivityTest.java | 5 +- .../index/PostgreSQLIndexSelectivityTest.java | 7 +- .../jdbc/index/SQLServerMissingIndexTest.java | 4 +- .../index/providers/IndexEntityProvider.java | 1 - .../hpjp/jdbc/transaction/AutoCommitTest.java | 7 +- .../ConnectionReadyOnlyTransactionTest.java | 11 +- .../jdbc/transaction/MVCCPostgreSQLTest.java | 4 +- ...cleConnectionReadyOnlyTransactionTest.java | 27 +- ...verConnectionReadyOnlyTransactionTest.java | 24 +- .../locking/AbstractPredicateLockTest.java | 3 +- .../locking/AbstractTableLockTest.java | 4 +- .../locking/MySQLPredicateLockTest.java | 2 +- ...ithEmployeesInFirstDepartmentOnlyTest.java | 2 +- .../locking/PostgreSQLForNoKeyUpdateTest.java | 8 +- .../locking/PostgreSQLPredicateLockTest.java | 4 +- ...SQLServerTableLockMultipleEntriesTest.java | 2 +- .../AbstractPostgreSQLAdvisoryLocksTest.java | 6 +- .../PostgreSQLReadWriteAdvisoryLocksTest.java | 32 +- .../phenomena/AbstractPhenomenaTest.java | 46 ++- .../phenomena/MySQLPhenomenaTest.java | 4 - .../phenomena/OraclePhenomenaTest.java | 4 - .../phenomena/PostgreSQLPhenomenaTest.java | 4 - .../phenomena/SQLServerPhenomenaTest.java | 4 - .../phenomena/YugabyteDBPhenomenaTest.java | 18 +- ...stractDepartmentEmployeePhenomenaTest.java | 39 ++- ...tractRangeBasedWriteSkewPhenomenaTest.java | 15 +- ...racleRangeBasedWriteSkewPhenomenaTest.java | 33 +-- ...BasedWriteSkewPhenomenaConstraintTest.java | 8 +- ...reSQLRangeBasedWriteSkewPhenomenaTest.java | 6 +- ...LRangeBasedWriteSkewReadCommittedTest.java | 6 +- .../hpjp/spring/batch/SpringBatchTest.java | 12 +- ...gBlazePersistenceKeysetPaginationTest.java | 4 +- .../blaze/SpringBlazePersistenceMockTest.java | 4 +- .../SpringBlazePersistenceMultisetTest.java | 6 +- .../spring/common/AbstractSpringTest.java | 11 +- .../assigned/SpringDataJPAAssignedTest.java | 2 +- .../data/audit/SpringDataJPAAuditTest.java | 2 +- .../base/SpringDataJPABaseRepositoryTest.java | 4 +- .../SpringDataJPABidirectionalTest.java | 2 +- .../data/bytecode/AttachmentLazyLoading.java | 4 +- ...DataJPARuntimeBytecodeEnhancementTest.java | 7 +- .../cascade/SpringDataJPACascadeTest.java | 8 +- .../data/crud/SpringDataJPACrudTest.java | 4 +- .../spring/data/crud/service/PostService.java | 2 +- .../SpringDataJPACustomRepositoryTest.java | 4 +- .../SpringDataJPADTO2EntityTest.java | 2 +- .../data/lock/SpringDataJPALockTest.java | 6 +- .../SpringDataJPAMasqueradeTest.java | 4 +- .../data/merge/SpringDataJPAMergeTest.java | 2 +- .../SpringDataJPAProjectionTest.java | 4 +- .../SpringDataJPAQueryByExampleTest.java | 6 +- .../query/exists/SpringDataJPAExistsTest.java | 4 +- .../SpringDataJPAJoinFetchPaginationTest.java | 6 +- .../query/fetch/SpringDataJPAOSIVTest.java | 2 +- .../query/fetch/SpringDataJPAStreamTest.java | 4 +- .../hint/SpringDataJPAQueryHintTest.java | 4 +- .../data/query/hint/service/ForumService.java | 4 +- .../method/SpringDataJPAQueryMethodTest.java | 6 +- .../SpringDataJPAMultipleBagFetchTest.java | 4 +- .../SpringDataJPASpecificationTest.java | 6 +- .../query/window/SpringDataJPAWindowTest.java | 2 +- .../data/record/SpringDataJPARecordTest.java | 2 +- .../recursive/SpringDataJPARecursiveTest.java | 4 +- .../data/recursive/domain/PostCommentDTO.java | 10 + .../SpringDataJPAUnidirectionalBulkTest.java | 6 +- ...ataJPAUnidirectionalEventListenerTest.java | 2 +- .../unidirectional/domain/PostDetails.java | 1 - .../data/update/SpringDataJPAUpdateTest.java | 2 +- .../SpringTablePartitioningTest.java | 4 +- .../hpjp/spring/partition/domain/Post.java | 13 +- .../SpringStatelessSessionBatchingTest.java | 2 +- .../stateless/domain/NoOpGenerator.java | 3 +- .../transaction/contract/ContractTest.java | 2 +- .../HibernateTransactionManagerTest.java | 6 +- ...ernateTransactionManagerConfiguration.java | 1 - .../hibernate/service/ForumServiceImpl.java | 2 +- .../jpa/JPATransactionManagerTest.java | 6 +- ...esourceLocalReleaseAfterStatementTest.java | 4 +- .../jpa/service/ForumServiceImpl.java | 4 +- ...ReleaseAfterStatementForumServiceImpl.java | 2 +- .../AromikosJTATransactionManagerTest.java | 6 +- .../atomikos/service/ForumServiceImpl.java | 2 +- .../NarayanaJTATransactionManagerTest.java | 6 +- .../narayana/service/ForumServiceImpl.java | 2 +- .../spring/transaction/mdc/SpringMdcTest.java | 2 +- .../SpringDataJPAReadOnlyLazyTest.java | 4 +- .../readonly/SpringDataJPAReadOnlyTest.java | 4 +- .../TransactionRoutingDataSourceTest.java | 2 +- .../ACIDRaceConditionTransferTest.java | 4 +- ...lexyPoolACIDRaceConditionTransferTest.java | 4 +- ...CIDRaceConditionTransferConfiguration.java | 2 +- .../vladmihalcea/hpjp/util/AbstractTest.java | 67 ++++- .../hpjp/util/CryptoUtilsTest.java | 4 +- .../DataSourceProviderIntegrationTest.java | 40 --- .../hpjp/util/DatabaseIntegrationTest.java | 40 +++ .../util/DatabaseProviderIntegrationTest.java | 40 ++- .../hpjp/util/PersistenceUnitInfoImpl.java | 10 + .../util/providers/LegacyOracleDialect.java | 2 +- .../hpjp/util/resources/CpuTest.java | 2 +- jooq/jooq-core/pom.xml | 2 +- .../hpjp/jooq/mysql/crud/BatchTest.java | 6 +- .../hpjp/jooq/mysql/crud/CrudTest.java | 2 +- .../jooq/mysql/crud/HibernateFlushTest.java | 2 +- .../mysql/crud/InlineBindParametersTest.java | 2 +- .../jooq/mysql/crud/KeysetPaginationTest.java | 2 +- .../jooq/mysql/crud/SQLInjectionTest.java | 2 +- .../hpjp/jooq/mysql/crud/StreamTest.java | 2 +- .../crud/UpsertAndGetConcurrencyTest.java | 2 +- .../hpjp/jooq/mysql/crud/UpsertTest.java | 2 +- .../score/PostCommentFingerprintTest.java | 2 +- .../PostCommentScoreStoredProcedureTest.java | 2 +- .../pgsql/score/PostCommentScoreTest.java | 2 +- .../hpjp/jooq/pgsql/batching/BatchTest.java | 2 +- .../hpjp/jooq/pgsql/crud/CrudTest.java | 2 +- .../jooq/pgsql/crud/SQLInjectionTest.java | 2 +- .../hpjp/jooq/pgsql/fetching/StreamTest.java | 2 +- .../functions/qa/QuestionAndAnswerTest.java | 2 +- .../pagination/KeysetPaginationTest.java | 2 +- .../upsert/UpsertAndGetConcurrencyTest.java | 2 +- .../jooq/pgsql/upsert/UpsertAndGetTest.java | 2 +- .../hpjp/jooq/pgsql/upsert/UpsertTest.java | 2 +- pom.xml | 27 +- 822 files changed, 3233 insertions(+), 5303 deletions(-) delete mode 100644 core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/LazyToOneNoProxyTest.java delete mode 100644 core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/LazyToOneProxyTest.java delete mode 100644 core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/OptimisticLockingOneRootDirtyVersioningSelectBeforeUpdateTest.java delete mode 100644 core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/ExtraLazyCollectionTest.java delete mode 100644 core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/multiple/EagerFetchingMultipleBagLazyCollectionOptionTest.java rename core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/{HibernateAlwaysFlushConfigurationPropertyTest.java => HibernateAlwaysFlushSessionBuilderTest.java} (73%) delete mode 100644 core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/AssignedTableBatchIdentifierTest.java delete mode 100644 core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/AssignedTableGenerator.java create mode 100644 core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/string/StringSequence.java rename core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/{StringSequenceIdentifier.java => string/StringSequenceIdentifierGenerator.java} (60%) rename core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/{ => string}/StringSequenceIdentifierTest.java (58%) delete mode 100644 core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/TablePerClassMySQLUnionAllTest.java delete mode 100644 core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/TablePerClassMySQLUnionTest.java rename core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/{HibernateImmutableWarningTest.java => HibernateImmutableUpdateTest.java} (62%) delete mode 100644 core/src/test/java/com/vladmihalcea/hpjp/hibernate/pc/SaveVariantsSelectBeforeUpdateTest.java delete mode 100644 core/src/test/java/com/vladmihalcea/hpjp/util/DataSourceProviderIntegrationTest.java create mode 100644 core/src/test/java/com/vladmihalcea/hpjp/util/DatabaseIntegrationTest.java diff --git a/core/pom.xml b/core/pom.xml index 244f118c2..2fe678bb2 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -41,7 +41,7 @@ com.blazebit - blaze-persistence-integration-hibernate-6.2 + blaze-persistence-integration-hibernate-7.1 ${blaze-persistence.version} @@ -88,13 +88,12 @@ - org.hibernate.orm.tooling - hibernate-enhance-maven-plugin + org.hibernate.orm + hibernate-maven-plugin ${hibernate.version} - true false false false diff --git a/core/src/main/java/com/vladmihalcea/hpjp/hibernate/forum/Post.java b/core/src/main/java/com/vladmihalcea/hpjp/hibernate/forum/Post.java index 8232cdfca..290a5d792 100644 --- a/core/src/main/java/com/vladmihalcea/hpjp/hibernate/forum/Post.java +++ b/core/src/main/java/com/vladmihalcea/hpjp/hibernate/forum/Post.java @@ -1,8 +1,5 @@ package com.vladmihalcea.hpjp.hibernate.forum; -import org.hibernate.annotations.LazyToOne; -import org.hibernate.annotations.LazyToOneOption; - import jakarta.persistence.*; import java.util.ArrayList; import java.util.List; @@ -31,7 +28,6 @@ public class Post { cascade = CascadeType.ALL, fetch = FetchType.LAZY ) - @LazyToOne(LazyToOneOption.NO_PROXY) private PostDetails details; @ManyToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE}) diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/access/property/FluentApiPropertyAccessTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/access/property/FluentApiPropertyAccessTest.java index b6eb96214..3752d9f47 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/access/property/FluentApiPropertyAccessTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/access/property/FluentApiPropertyAccessTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.access.property; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.sql.Timestamp; @@ -11,7 +11,7 @@ import java.util.Date; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/AllAssociationTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/AllAssociationTest.java index 548dd9e60..06c3f51d2 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/AllAssociationTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/AllAssociationTest.java @@ -2,13 +2,13 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import jakarta.persistence.*; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.Date; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManyExtraColumnsTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManyExtraColumnsTest.java index d885023d7..a6d56313c 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManyExtraColumnsTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManyExtraColumnsTest.java @@ -26,7 +26,7 @@ import org.hibernate.annotations.NaturalId; import org.hibernate.annotations.NaturalIdCache; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.vladmihalcea.hpjp.util.AbstractTest; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManyLinkEntityEmbeddableTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManyLinkEntityEmbeddableTest.java index 53a28fae6..d2051dfa0 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManyLinkEntityEmbeddableTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManyLinkEntityEmbeddableTest.java @@ -25,7 +25,7 @@ import org.hibernate.annotations.NaturalId; import org.hibernate.annotations.NaturalIdCache; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.vladmihalcea.hpjp.util.AbstractTest; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManyLinkEntityIdColumnsTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManyLinkEntityIdColumnsTest.java index 365f9a2e9..c3f45dc19 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManyLinkEntityIdColumnsTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManyLinkEntityIdColumnsTest.java @@ -1,9 +1,9 @@ package com.vladmihalcea.hpjp.hibernate.association; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; - import jakarta.persistence.*; +import org.junit.jupiter.api.Test; + import java.io.Serializable; import java.util.ArrayList; import java.util.Iterator; @@ -53,45 +53,6 @@ public void testLifecycle() { }); } - @Test - public void testShuffle() { - final Long postId = doInJPA(entityManager -> { - Post post1 = new Post("JPA with Hibernate"); - Post post2 = new Post("Native Hibernate"); - - Tag tag1 = new Tag("Java"); - tag1.setId(1L); - Tag tag2 = new Tag("Hibernate"); - tag2.setId(2L); - - entityManager.persist(post1); - entityManager.persist(post2); - - entityManager.persist(tag1); - entityManager.persist(tag2); - - post1.addTag(tag1); - post1.addTag(tag2); - - post2.addTag(tag1); - - entityManager.flush(); - - return post1.getId(); - }); - doInJPA(entityManager -> { - LOGGER.info("Shuffle"); - Post post1 = entityManager.find(Post.class, postId); - Tag tag1 = entityManager.find(Tag.class, 1L); - - PostTag postTag = entityManager.find(PostTag.class, new PostTag(post1, tag1)); - - post1.getTags().sort((postTag1, postTag2) -> - postTag2.getTag().getId().compareTo(postTag1.getTag().getId()) - ); - }); - } - @Entity(name = "Post") public static class Post { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManyLinkEntityMapKeyJoinColumnTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManyLinkEntityMapKeyJoinColumnTest.java index 20731f5c4..f794164b4 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManyLinkEntityMapKeyJoinColumnTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManyLinkEntityMapKeyJoinColumnTest.java @@ -22,7 +22,7 @@ import org.hibernate.annotations.NaturalId; import org.hibernate.annotations.NaturalIdCache; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.vladmihalcea.hpjp.util.AbstractTest; import java.util.HashMap; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManyLinkEntityOrderColumnTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManyLinkEntityOrderColumnTest.java index 950d982c5..f6e0f7349 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManyLinkEntityOrderColumnTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManyLinkEntityOrderColumnTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.association; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.io.Serializable; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManyLinkEntityTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManyLinkEntityTest.java index 31f542710..9107736ad 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManyLinkEntityTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManyLinkEntityTest.java @@ -4,7 +4,7 @@ import com.vladmihalcea.hpjp.util.providers.Database; import org.hibernate.Session; import org.hibernate.annotations.NaturalId; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.io.Serializable; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManyListTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManyListTest.java index 3ff0628c1..cee5b007b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManyListTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManyListTest.java @@ -2,11 +2,11 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; +import jakarta.persistence.*; import org.hibernate.annotations.NaturalId; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; -import jakarta.persistence.*; import java.util.ArrayList; import java.util.List; import java.util.Objects; @@ -80,7 +80,7 @@ public void testRemovePost() { } @Test - @Ignore + @Disabled public void testRemoveTag() { final Long tagId = doInJPA(entityManager -> { Post post1 = new Post("JPA with Hibernate"); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManyOrderColumnTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManyOrderColumnTest.java index 9eda5f78d..09cad00e8 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManyOrderColumnTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManyOrderColumnTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.association; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.*; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManySetTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManySetTest.java index 21968aa67..f3888fa7a 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManySetTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManySetTest.java @@ -4,7 +4,7 @@ import com.vladmihalcea.hpjp.util.providers.Database; import org.hibernate.Session; import org.hibernate.annotations.NaturalId; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.HashSet; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManyTest.java index 6041e1bc3..1ec6ced17 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManyTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalManyToManyTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.association; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.*; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToManyJoinColumnTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToManyJoinColumnTest.java index 21f2126ef..18db82941 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToManyJoinColumnTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToManyJoinColumnTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.association; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToManyMergeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToManyMergeTest.java index e765971a8..636ce20aa 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToManyMergeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToManyMergeTest.java @@ -3,13 +3,13 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import jakarta.persistence.*; import org.hibernate.jpa.AvailableHints; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea @@ -45,7 +45,7 @@ protected void afterInit() { } @Test - @Ignore + @Disabled public void testCollectionOverwrite() { List comments = fetchPostComments(1L); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToManyOrphanRemovalWithoutCascadeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToManyOrphanRemovalWithoutCascadeTest.java index c6c16639b..8c56af80b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToManyOrphanRemovalWithoutCascadeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToManyOrphanRemovalWithoutCascadeTest.java @@ -2,13 +2,13 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import net.ttddyy.dsproxy.QueryCountHolder; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToManySetTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToManySetTest.java index de404dd0a..7fe2dbc2b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToManySetTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToManySetTest.java @@ -3,14 +3,14 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import jakarta.persistence.*; import net.ttddyy.dsproxy.QueryCountHolder; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToManyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToManyTest.java index 23f4921cc..2a1938d3c 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToManyTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToManyTest.java @@ -2,13 +2,13 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import net.ttddyy.dsproxy.QueryCountHolder; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToManyUniquenessTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToManyUniquenessTest.java index bfe7fc4e9..cc247cbbb 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToManyUniquenessTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToManyUniquenessTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.association; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; @@ -9,7 +9,7 @@ import java.util.List; import java.util.Objects; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneMapsIdStringTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneMapsIdStringTest.java index a21605eb4..16c0aacdd 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneMapsIdStringTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneMapsIdStringTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.association; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneMapsIdTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneMapsIdTest.java index 5aa577685..2241518aa 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneMapsIdTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneMapsIdTest.java @@ -2,14 +2,14 @@ import com.vladmihalcea.hpjp.hibernate.logging.validator.sql.SQLStatementCountValidator; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.Date; import java.util.List; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneNPlusOneBytecodeEnhancementTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneNPlusOneBytecodeEnhancementTest.java index 123e495da..63e4bed50 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneNPlusOneBytecodeEnhancementTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneNPlusOneBytecodeEnhancementTest.java @@ -1,22 +1,21 @@ package com.vladmihalcea.hpjp.hibernate.association; import com.vladmihalcea.hpjp.hibernate.logging.validator.sql.SQLStatementCountValidator; -import org.hibernate.testing.bytecode.enhancement.BytecodeEnhancerRunner; import org.hibernate.testing.bytecode.enhancement.EnhancementOptions; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.hibernate.testing.bytecode.enhancement.extension.BytecodeEnhanced; +import org.junit.jupiter.api.Test; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea */ -@RunWith(BytecodeEnhancerRunner.class) @EnhancementOptions( lazyLoading = true ) +@BytecodeEnhanced public class BidirectionalOneToOneNPlusOneBytecodeEnhancementTest extends BidirectionalOneToOneNPlusOneTest { @Test diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneNPlusOneNonOptionalTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneNPlusOneNonOptionalTest.java index 6238ffe2c..4d641f6db 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneNPlusOneNonOptionalTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneNPlusOneNonOptionalTest.java @@ -3,12 +3,12 @@ import com.vladmihalcea.hpjp.hibernate.logging.validator.sql.SQLStatementCountValidator; import com.vladmihalcea.hpjp.util.AbstractTest; import jakarta.persistence.*; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Date; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneNPlusOneTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneNPlusOneTest.java index b78ad0e45..fb255dd49 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneNPlusOneTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneNPlusOneTest.java @@ -5,15 +5,15 @@ import io.hypersistence.utils.hibernate.type.util.ClassImportIntegrator; import jakarta.persistence.*; import org.hibernate.jpa.boot.spi.IntegratorProvider; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import java.util.Collections; import java.util.Date; import java.util.List; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea @@ -56,7 +56,7 @@ protected void afterInit() { } @Test - @Ignore + @Disabled public void testNPlusOne() { SQLStatementCountValidator.reset(); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneOptionalFalseEagerFetchingDefaultTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneOptionalFalseEagerFetchingDefaultTest.java index 212273170..99bb63d69 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneOptionalFalseEagerFetchingDefaultTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneOptionalFalseEagerFetchingDefaultTest.java @@ -3,12 +3,12 @@ import com.vladmihalcea.hpjp.hibernate.logging.validator.sql.SQLStatementCountValidator; import com.vladmihalcea.hpjp.util.AbstractTest; import jakarta.persistence.*; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Date; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneOptionalFalseLazyFetchingMapsIdTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneOptionalFalseLazyFetchingMapsIdTest.java index 14b870eae..78ae73fc4 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneOptionalFalseLazyFetchingMapsIdTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneOptionalFalseLazyFetchingMapsIdTest.java @@ -3,12 +3,12 @@ import com.vladmihalcea.hpjp.hibernate.logging.validator.sql.SQLStatementCountValidator; import com.vladmihalcea.hpjp.util.AbstractTest; import jakarta.persistence.*; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Date; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneOptionalTrueEagerFetchingDefaultTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneOptionalTrueEagerFetchingDefaultTest.java index 5196ea7f2..d9231d2e8 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneOptionalTrueEagerFetchingDefaultTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneOptionalTrueEagerFetchingDefaultTest.java @@ -3,12 +3,12 @@ import com.vladmihalcea.hpjp.hibernate.logging.validator.sql.SQLStatementCountValidator; import com.vladmihalcea.hpjp.util.AbstractTest; import jakarta.persistence.*; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Date; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneOptionalTrueEagerFetchingMapsIdTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneOptionalTrueEagerFetchingMapsIdTest.java index 4f1b135bd..1e8614d07 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneOptionalTrueEagerFetchingMapsIdTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneOptionalTrueEagerFetchingMapsIdTest.java @@ -3,12 +3,12 @@ import com.vladmihalcea.hpjp.hibernate.logging.validator.sql.SQLStatementCountValidator; import com.vladmihalcea.hpjp.util.AbstractTest; import jakarta.persistence.*; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Date; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneTest.java index 0c9a14e02..2b33c467b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/BidirectionalOneToOneTest.java @@ -2,12 +2,12 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.Date; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ElementCollectionArrayTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ElementCollectionArrayTest.java index 17b89bd29..77a19721c 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ElementCollectionArrayTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ElementCollectionArrayTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.association; import com.vladmihalcea.hpjp.util.AbstractMySQLIntegrationTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ElementCollectionListMergeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ElementCollectionListMergeTest.java index fc0c7f2c3..167d63157 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ElementCollectionListMergeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ElementCollectionListMergeTest.java @@ -1,15 +1,15 @@ package com.vladmihalcea.hpjp.hibernate.association; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import org.springframework.beans.BeanUtils; import jakarta.persistence.*; import java.io.Serializable; import java.util.*; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea @@ -46,7 +46,7 @@ protected void afterInit() { } @Test - @Ignore("Test is failing!") + @Disabled("Test is failing!") public void testMerge() { PostDTO postDTO = getPostDTO(); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ElementCollectionListOrderColumnTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ElementCollectionListOrderColumnTest.java index 5432dcd8b..eb468ef2c 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ElementCollectionListOrderColumnTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ElementCollectionListOrderColumnTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.association; import com.vladmihalcea.hpjp.util.AbstractMySQLIntegrationTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ElementCollectionListTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ElementCollectionListTest.java index 265175a1a..5d13634f9 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ElementCollectionListTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ElementCollectionListTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ElementCollectionNestedTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ElementCollectionNestedTest.java index 1fda95b66..af2d839c6 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ElementCollectionNestedTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ElementCollectionNestedTest.java @@ -1,13 +1,13 @@ package com.vladmihalcea.hpjp.hibernate.association; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ElementCollectionSetMergeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ElementCollectionSetMergeTest.java index 4e867a9fd..1bbdefde0 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ElementCollectionSetMergeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ElementCollectionSetMergeTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.association; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.BeanUtils; import jakarta.persistence.*; @@ -11,7 +11,7 @@ import java.util.Objects; import java.util.Set; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ElementCollectionSetTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ElementCollectionSetTest.java index 2d0638971..3448ee49d 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ElementCollectionSetTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ElementCollectionSetTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ElementCollectionSortedSetMergeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ElementCollectionSortedSetMergeTest.java index c88379e2a..4b7d20218 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ElementCollectionSortedSetMergeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ElementCollectionSortedSetMergeTest.java @@ -3,14 +3,14 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import jakarta.persistence.*; import org.hibernate.annotations.SortComparator; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import org.springframework.beans.BeanUtils; import java.io.Serializable; import java.util.*; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea @@ -47,29 +47,19 @@ protected void afterInit() { } @Test - @Ignore("Test is failing!") + @Disabled public void testMerge() { PostDTO postDTO = getPostDTO(); - doInJPA(entityManager -> { + Post detecahedPost = doInJPA(entityManager -> { + return entityManager.find(Post.class, 1L); + }); - //second find and copy from dto - Post post = entityManager.find(Post.class, 1L); - BeanUtils.copyProperties(postDTO, post); - - // find posts by category - List posts = entityManager.createQuery(""" - select p - from Post p - join p.categories c - where c.id = :categoryId - """, Post.class) - .setParameter("categoryId", post.categories.iterator().next().id) - .getResultList(); - - // update post - post = entityManager.find(Post.class, 1L); - BeanUtils.copyProperties(postDTO, post); + BeanUtils.copyProperties(postDTO, detecahedPost); + + // update post + doInJPA(entityManager -> { + entityManager.merge(detecahedPost); }); doInJPA(entityManager -> { @@ -127,7 +117,7 @@ public static class Post { ) private Set tags = new HashSet<>(); - @ManyToMany(fetch = FetchType.EAGER) + @OneToMany(fetch = FetchType.EAGER) @JoinTable( name = "post_categories", joinColumns = @JoinColumn(name = "category_id"), diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ElementCollectionWithCollectionTableTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ElementCollectionWithCollectionTableTest.java index 243912059..50bac5daa 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ElementCollectionWithCollectionTableTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ElementCollectionWithCollectionTableTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.association; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/LazyToOneFalseTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/LazyToOneFalseTest.java index 90be2a879..44e4ebe21 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/LazyToOneFalseTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/LazyToOneFalseTest.java @@ -1,11 +1,11 @@ package com.vladmihalcea.hpjp.hibernate.association; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * @author Vlad Mihalcea @@ -82,7 +82,6 @@ public static class PostComment { private String review; @ManyToOne(fetch = FetchType.LAZY) - //@LazyToOne(LazyToOneOption.FALSE) @JoinColumn(name = "post_id") private Post post; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/LazyToOneNoProxyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/LazyToOneNoProxyTest.java deleted file mode 100644 index 112046e06..000000000 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/LazyToOneNoProxyTest.java +++ /dev/null @@ -1,169 +0,0 @@ -package com.vladmihalcea.hpjp.hibernate.association; - -import com.vladmihalcea.hpjp.util.AbstractTest; -import org.hibernate.annotations.LazyToOne; -import org.hibernate.annotations.LazyToOneOption; -import org.hibernate.testing.bytecode.enhancement.BytecodeEnhancerRunner; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import jakarta.persistence.*; -import java.util.Date; - -import static junit.framework.TestCase.fail; -import static org.junit.Assert.assertNotNull; - -/** - * @author Vlad Mihalcea - */ -@RunWith(BytecodeEnhancerRunner.class) -public class LazyToOneNoProxyTest extends AbstractTest { - - //Needed as otherwise we get a No unique field [LOGGER] error - private final Logger LOGGER = LoggerFactory.getLogger(getClass()); - - @Override - protected Class[] entities() { - return new Class[]{ - Post.class, - PostDetails.class - }; - } - - @Test - public void testLazyLoadingNoProxy() { - doInJPA(entityManager -> { - entityManager.persist( - new Post() - .setId(1L) - .setTitle("High-Performance Java Persistence, 1st Part") - .setDetails( - new PostDetails() - .setCreatedBy("Vlad Mihalcea") - ) - ); - }); - - Post post = doInJPA(entityManager -> { - return entityManager.find(Post.class, 1L); - }); - - try { - assertNotNull(post.getDetails().getCreatedOn()); - - fail("Should throw LazyInitializationException"); - } catch (Exception expected) { - LOGGER.info("The @OneToOne association was fetched lazily", expected); - } - } - - @Entity(name = "Post") - @Table(name = "post") - public static class Post { - - @Id - private Long id; - - private String title; - - @OneToOne( - mappedBy = "post", - fetch = FetchType.LAZY, - cascade = CascadeType.ALL - ) - @LazyToOne(LazyToOneOption.NO_PROXY) - private PostDetails details; - - public Long getId() { - return id; - } - - public Post setId(Long id) { - this.id = id; - return this; - } - - public String getTitle() { - return title; - } - - public Post setTitle(String title) { - this.title = title; - return this; - } - - public PostDetails getDetails() { - return details; - } - - public Post setDetails(PostDetails details) { - if (details == null) { - if (this.details != null) { - this.details.setPost(null); - } - } - else { - details.setPost(this); - } - this.details = details; - return this; - } - } - - @Entity(name = "PostDetails") - @Table(name = "post_details") - public static class PostDetails { - - @Id - private Long id; - - @Column(name = "created_on") - private Date createdOn = new Date(); - - @Column(name = "created_by") - private String createdBy; - - @OneToOne(fetch = FetchType.LAZY) - @MapsId - @JoinColumn(name = "id") - private Post post; - - public Long getId() { - return id; - } - - public PostDetails setId(Long id) { - this.id = id; - return this; - } - - public Post getPost() { - return post; - } - - public PostDetails setPost(Post post) { - this.post = post; - return this; - } - - public Date getCreatedOn() { - return createdOn; - } - - public PostDetails setCreatedOn(Date createdOn) { - this.createdOn = createdOn; - return this; - } - - public String getCreatedBy() { - return createdBy; - } - - public PostDetails setCreatedBy(String createdBy) { - this.createdBy = createdBy; - return this; - } - } -} diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/LazyToOneProxyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/LazyToOneProxyTest.java deleted file mode 100644 index f130a890d..000000000 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/LazyToOneProxyTest.java +++ /dev/null @@ -1,133 +0,0 @@ -package com.vladmihalcea.hpjp.hibernate.association; - -import com.vladmihalcea.hpjp.util.AbstractTest; -import org.hibernate.annotations.LazyToOne; -import org.hibernate.annotations.LazyToOneOption; -import org.junit.Test; - -import jakarta.persistence.*; -import java.util.Date; - -import static org.junit.Assert.assertNotNull; - -/** - * @author Vlad Mihalcea - */ -public class LazyToOneProxyTest extends AbstractTest { - - @Override - protected Class[] entities() { - return new Class[]{ - Post.class, - PostDetails.class - }; - } - - @Test - public void testLazyLoadingNoProxy() { - final Post post = new Post() - .setId(1L) - .setTitle("High-Performance Java Persistence, 1st Part"); - - doInJPA(entityManager -> { - entityManager.persist(post); - - entityManager.persist( - new PostDetails() - .setPost(post) - .setCreatedBy("Vlad Mihalcea") - ); - }); - - PostDetails details = doInJPA(entityManager -> { - return entityManager.find(PostDetails.class, post.getId()); - }); - - assertNotNull(details.getPost()); - LOGGER.info("PostDetail Proxy class: {}", details.getPost().getClass()); - } - - @Entity(name = "Post") - @Table(name = "post") - public static class Post { - - @Id - private Long id; - - private String title; - - public Long getId() { - return id; - } - - public Post setId(Long id) { - this.id = id; - return this; - } - - public String getTitle() { - return title; - } - - public Post setTitle(String title) { - this.title = title; - return this; - } - } - - @Entity(name = "PostDetails") - @Table(name = "post_details") - public static class PostDetails { - - @Id - private Long id; - - @Column(name = "created_on") - private Date createdOn = new Date(); - - @Column(name = "created_by") - private String createdBy; - - @OneToOne(fetch = FetchType.LAZY) - @LazyToOne(LazyToOneOption.PROXY) - @MapsId - @JoinColumn(name = "id") - private Post post; - - public Long getId() { - return id; - } - - public PostDetails setId(Long id) { - this.id = id; - return this; - } - - public Post getPost() { - return post; - } - - public PostDetails setPost(Post post) { - this.post = post; - return this; - } - - public Date getCreatedOn() { - return createdOn; - } - - public PostDetails setCreatedOn(Date createdOn) { - this.createdOn = createdOn; - return this; - } - - public String getCreatedBy() { - return createdBy; - } - - public PostDetails setCreatedBy(String createdBy) { - this.createdBy = createdBy; - return this; - } - } -} diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ManyToOneJoinColumnNonPKTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ManyToOneJoinColumnNonPKTest.java index 8ee0919b9..14ba1741b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ManyToOneJoinColumnNonPKTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ManyToOneJoinColumnNonPKTest.java @@ -12,11 +12,11 @@ import org.hibernate.annotations.NaturalId; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.vladmihalcea.hpjp.util.AbstractTest; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ManyToOneTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ManyToOneTest.java index 88d846b6f..a11a3be6a 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ManyToOneTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/ManyToOneTest.java @@ -1,12 +1,12 @@ package com.vladmihalcea.hpjp.hibernate.association; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/MultiLevelOneToManyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/MultiLevelOneToManyTest.java index 402529e84..794cbb75b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/MultiLevelOneToManyTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/MultiLevelOneToManyTest.java @@ -1,13 +1,13 @@ package com.vladmihalcea.hpjp.hibernate.association; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/OneToOneIdTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/OneToOneIdTest.java index 234f7c135..8b48b30bb 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/OneToOneIdTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/OneToOneIdTest.java @@ -1,15 +1,15 @@ package com.vladmihalcea.hpjp.hibernate.association; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.io.Serializable; import java.util.Date; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * @author Vlad Mihalcea @@ -25,7 +25,7 @@ protected Class[] entities() { } @Test - @Ignore + @Disabled public void testLifecycle() { Post _post = doInJPA(entityManager -> { Post post = new Post(); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/OneToOneInsertableUpdatableFalseTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/OneToOneInsertableUpdatableFalseTest.java index da123b878..04d3faddb 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/OneToOneInsertableUpdatableFalseTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/OneToOneInsertableUpdatableFalseTest.java @@ -1,12 +1,12 @@ package com.vladmihalcea.hpjp.hibernate.association; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.Date; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/OneToOneJoinColumnWithoutMapsIdTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/OneToOneJoinColumnWithoutMapsIdTest.java index c0f6857c0..cd1f9e8be 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/OneToOneJoinColumnWithoutMapsIdTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/OneToOneJoinColumnWithoutMapsIdTest.java @@ -3,11 +3,11 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; import jakarta.persistence.*; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Date; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/OneToOneMapsIdJoinColumnTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/OneToOneMapsIdJoinColumnTest.java index 1b09bdd76..dd83862c4 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/OneToOneMapsIdJoinColumnTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/OneToOneMapsIdJoinColumnTest.java @@ -2,12 +2,12 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.Date; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/OneToOneMapsIdTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/OneToOneMapsIdTest.java index 60647f4bc..4c338e84e 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/OneToOneMapsIdTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/OneToOneMapsIdTest.java @@ -5,14 +5,14 @@ import io.hypersistence.utils.hibernate.type.util.ClassImportIntegrator; import jakarta.persistence.*; import org.hibernate.jpa.boot.spi.IntegratorProvider; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Collections; import java.util.Date; import java.util.List; import java.util.Properties; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/TwoMapsIdsTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/TwoMapsIdsTest.java index 776daa0c4..0d4b28f8c 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/TwoMapsIdsTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/TwoMapsIdsTest.java @@ -1,11 +1,11 @@ package com.vladmihalcea.hpjp.hibernate.association; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalManyAsOneToManyExtraColumnsTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalManyAsOneToManyExtraColumnsTest.java index 6f5cc5042..0ccb48600 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalManyAsOneToManyExtraColumnsTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalManyAsOneToManyExtraColumnsTest.java @@ -26,7 +26,7 @@ import org.hibernate.annotations.NaturalId; import org.hibernate.annotations.NaturalIdCache; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.vladmihalcea.hpjp.util.AbstractTest; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalManyToManySetTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalManyToManySetTest.java index e1d735718..1f008c6a0 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalManyToManySetTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalManyToManySetTest.java @@ -4,7 +4,7 @@ import com.vladmihalcea.hpjp.util.providers.Database; import org.hibernate.Session; import org.hibernate.annotations.NaturalId; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.HashSet; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalManyToManySortedSetTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalManyToManySortedSetTest.java index bee079a7d..9cd32f5ca 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalManyToManySortedSetTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalManyToManySortedSetTest.java @@ -5,7 +5,7 @@ import org.hibernate.Session; import org.hibernate.annotations.NaturalId; import org.hibernate.annotations.SortNatural; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.*; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalManyToManyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalManyToManyTest.java index a94e7167e..37d7980f5 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalManyToManyTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalManyToManyTest.java @@ -4,7 +4,7 @@ import com.vladmihalcea.hpjp.util.providers.Database; import org.hibernate.Session; import org.hibernate.annotations.NaturalId; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalOneToManyJoinColumnAndOrderColumnTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalOneToManyJoinColumnAndOrderColumnTest.java index 2e9ccd63d..876b2f959 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalOneToManyJoinColumnAndOrderColumnTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalOneToManyJoinColumnAndOrderColumnTest.java @@ -11,7 +11,7 @@ import jakarta.persistence.OrderColumn; import jakarta.persistence.Table; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.vladmihalcea.hpjp.util.AbstractTest; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalOneToManyJoinColumnNotNullTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalOneToManyJoinColumnNotNullTest.java index 08ba796cf..9edb4cfb2 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalOneToManyJoinColumnNotNullTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalOneToManyJoinColumnNotNullTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.association; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalOneToManyJoinColumnSetTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalOneToManyJoinColumnSetTest.java index 42de3199a..0bbd40ff4 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalOneToManyJoinColumnSetTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalOneToManyJoinColumnSetTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.association; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.nio.ByteBuffer; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalOneToManyJoinColumnTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalOneToManyJoinColumnTest.java index 7b0bd1dd4..b9e01cd43 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalOneToManyJoinColumnTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalOneToManyJoinColumnTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalOneToManySetIdEqualsTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalOneToManySetIdEqualsTest.java index 2a9e01965..2b33b6560 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalOneToManySetIdEqualsTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalOneToManySetIdEqualsTest.java @@ -10,7 +10,7 @@ import jakarta.persistence.OneToMany; import jakarta.persistence.Table; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.vladmihalcea.hpjp.util.AbstractTest; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalOneToManySetTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalOneToManySetTest.java index b53fb18a2..a03fb1a1c 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalOneToManySetTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalOneToManySetTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.association; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalOneToManyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalOneToManyTest.java index 24425f2b5..2a21feaa6 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalOneToManyTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalOneToManyTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalOneToOneTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalOneToOneTest.java index 37fa61dc7..6bb12a3f5 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalOneToOneTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalOneToOneTest.java @@ -3,12 +3,12 @@ import com.vladmihalcea.hpjp.util.AbstractMySQLIntegrationTest; import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.Date; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalOrderedOneToManyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalOrderedOneToManyTest.java index c6381b7e1..10ee05fe8 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalOrderedOneToManyTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/association/UnidirectionalOrderedOneToManyTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/audit/envers/EnversAuditedDefaultStrategyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/audit/envers/EnversAuditedDefaultStrategyTest.java index 691d9c9a0..eb185c73c 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/audit/envers/EnversAuditedDefaultStrategyTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/audit/envers/EnversAuditedDefaultStrategyTest.java @@ -4,14 +4,14 @@ import org.hibernate.envers.AuditReaderFactory; import org.hibernate.envers.Audited; import org.hibernate.envers.query.AuditEntity; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/audit/envers/EnversBatchInsertTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/audit/envers/EnversBatchInsertTest.java index 2028bd9eb..9f7a2c74c 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/audit/envers/EnversBatchInsertTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/audit/envers/EnversBatchInsertTest.java @@ -7,7 +7,7 @@ import org.hibernate.envers.configuration.EnversSettings; import org.hibernate.envers.query.AuditEntity; import org.hibernate.envers.strategy.internal.ValidityAuditStrategy; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; @@ -15,7 +15,7 @@ import java.util.Objects; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/audit/hibernate/LoadEventListenerTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/audit/hibernate/LoadEventListenerTest.java index 2e1b3437f..90369398a 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/audit/hibernate/LoadEventListenerTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/audit/hibernate/LoadEventListenerTest.java @@ -6,7 +6,7 @@ import com.vladmihalcea.hpjp.util.providers.Database; import com.vladmihalcea.hpjp.util.transaction.JPATransactionFunction; import org.hibernate.integrator.spi.Integrator; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.EntityManager; import java.util.List; @@ -14,8 +14,8 @@ import java.util.function.Function; import java.util.stream.Collectors; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/audit/hibernate/listener/EventListenerIntegrator.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/audit/hibernate/listener/EventListenerIntegrator.java index 21ada63ca..7189e1763 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/audit/hibernate/listener/EventListenerIntegrator.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/audit/hibernate/listener/EventListenerIntegrator.java @@ -1,6 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.audit.hibernate.listener; import org.hibernate.boot.Metadata; +import org.hibernate.boot.spi.BootstrapContext; import org.hibernate.engine.spi.SessionFactoryImplementor; import org.hibernate.event.service.spi.EventListenerRegistry; import org.hibernate.event.spi.EventType; @@ -15,13 +16,8 @@ public class EventListenerIntegrator implements Integrator { public static final EventListenerIntegrator INSTANCE = new EventListenerIntegrator(); @Override - public void integrate( - Metadata metadata, - SessionFactoryImplementor sessionFactory, - SessionFactoryServiceRegistry serviceRegistry) { - - final EventListenerRegistry eventListenerRegistry = - serviceRegistry.getService(EventListenerRegistry.class); + public void integrate(Metadata metadata, BootstrapContext bootstrapContext, SessionFactoryImplementor sessionFactory) { + final EventListenerRegistry eventListenerRegistry = sessionFactory.getServiceRegistry().getService(EventListenerRegistry.class); eventListenerRegistry.appendListeners( EventType.POST_LOAD, diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/audit/trigger/MySQLTriggerBasedAuditedTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/audit/trigger/MySQLTriggerBasedAuditedTest.java index 5cf7cf27b..e5567d6a8 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/audit/trigger/MySQLTriggerBasedAuditedTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/audit/trigger/MySQLTriggerBasedAuditedTest.java @@ -7,14 +7,14 @@ import org.hibernate.dialect.Dialect; import org.hibernate.engine.spi.SessionFactoryImplementor; import org.hibernate.usertype.UserType; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.vladmihalcea.hpjp.util.ReflectionUtils; import jakarta.persistence.*; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea @@ -169,18 +169,13 @@ public void test() { private void setCurrentLoggedUser(EntityManager entityManager) { Session session = entityManager.unwrap(Session.class); - Dialect dialect = session.getSessionFactory().unwrap(SessionFactoryImplementor.class).getJdbcServices().getDialect(); - String loggedUser = ReflectionUtils.invokeMethod( - dialect, - "inlineLiteral", - LoggedUser.get() - ); + String loggedUser = LoggedUser.get(); session.doWork(connection -> { update( connection, String.format( - "SET @logged_user = %s", loggedUser + "SET @logged_user = '%s'", loggedUser ) ); }); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/audit/trigger/MySQLTriggerBasedJsonAuditLogTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/audit/trigger/MySQLTriggerBasedJsonAuditLogTest.java index ee01be0d2..39cba1a15 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/audit/trigger/MySQLTriggerBasedJsonAuditLogTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/audit/trigger/MySQLTriggerBasedJsonAuditLogTest.java @@ -9,14 +9,14 @@ import org.hibernate.dialect.Dialect; import org.hibernate.engine.spi.SessionFactoryImplementor; import org.hibernate.usertype.UserType; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.List; import java.util.concurrent.TimeUnit; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea @@ -243,11 +243,7 @@ publisher VARCHAR(255) PATH '$.publisher' private void setCurrentLoggedUser(EntityManager entityManager) { Session session = entityManager.unwrap(Session.class); Dialect dialect = session.getSessionFactory().unwrap(SessionFactoryImplementor.class).getJdbcServices().getDialect(); - String loggedUser = ReflectionUtils.invokeMethod( - dialect, - "inlineLiteral", - LoggedUser.get() - ); + String loggedUser = LoggedUser.get(); session.doWork(connection -> { update( @@ -258,7 +254,7 @@ private void setCurrentLoggedUser(EntityManager entityManager) { update( connection, String.format( - "SET @logged_user = %s", loggedUser + "SET @logged_user = '%s'", loggedUser ) ); }); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/audit/trigger/PostgreSQLTriggerBasedJsonAuditLogTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/audit/trigger/PostgreSQLTriggerBasedJsonAuditLogTest.java index 479d14909..5cc7c52ea 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/audit/trigger/PostgreSQLTriggerBasedJsonAuditLogTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/audit/trigger/PostgreSQLTriggerBasedJsonAuditLogTest.java @@ -10,11 +10,11 @@ import org.hibernate.engine.spi.SessionFactoryImplementor; import org.hibernate.query.NativeQuery; import org.hibernate.usertype.UserType; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea @@ -213,13 +213,12 @@ public void test() { private void setCurrentLoggedUser(EntityManager entityManager) { Session session = entityManager.unwrap(Session.class); - Dialect dialect = session.getSessionFactory().unwrap(SessionFactoryImplementor.class).getJdbcServices().getDialect(); - String loggedUser = dialect.inlineLiteral(LoggedUser.get()); + String loggedUser = LoggedUser.get(); session.doWork(connection -> update( connection, String.format( - "SET LOCAL var.logged_user = %s", loggedUser + "SET LOCAL var.logged_user = '%s'", loggedUser ) )); } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/audit/trigger/SQLServerTriggerBasedJsonAuditLogTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/audit/trigger/SQLServerTriggerBasedJsonAuditLogTest.java index c2f7f7eec..d69214ba5 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/audit/trigger/SQLServerTriggerBasedJsonAuditLogTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/audit/trigger/SQLServerTriggerBasedJsonAuditLogTest.java @@ -9,13 +9,13 @@ import org.hibernate.dialect.Dialect; import org.hibernate.engine.spi.SessionFactoryImplementor; import org.hibernate.usertype.UserType; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.List; import java.util.concurrent.TimeUnit; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea @@ -245,17 +245,12 @@ publisher varchar(255) '$.Publisher' private void setCurrentLoggedUser(EntityManager entityManager) { Session session = entityManager.unwrap(Session.class); - Dialect dialect = session.getSessionFactory().unwrap(SessionFactoryImplementor.class).getJdbcServices().getDialect(); - String loggedUser = ReflectionUtils.invokeMethod( - dialect, - "inlineLiteral", - LoggedUser.get() - ); + String loggedUser = LoggedUser.get(); session.doWork(connection -> update( connection, String.format( - "EXEC sys.sp_set_session_context @key = N'loggedUser', @value = N%s, @read_only = 1", loggedUser + "EXEC sys.sp_set_session_context @key = N'loggedUser', @value = N'%s', @read_only = 1", loggedUser ) )); } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/audit/trigger/YugabyteDBTriggerBasedJsonAuditLogTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/audit/trigger/YugabyteDBTriggerBasedJsonAuditLogTest.java index a782b3c84..34f2b9083 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/audit/trigger/YugabyteDBTriggerBasedJsonAuditLogTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/audit/trigger/YugabyteDBTriggerBasedJsonAuditLogTest.java @@ -7,17 +7,18 @@ import org.hibernate.annotations.DynamicUpdate; import org.hibernate.dialect.Dialect; import org.hibernate.engine.spi.SessionFactoryImplementor; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea */ +@Disabled public class YugabyteDBTriggerBasedJsonAuditLogTest extends AbstractTest { @Override @@ -265,14 +266,13 @@ public void test() { private void setCurrentLoggedUser(EntityManager entityManager) { Session session = entityManager.unwrap(Session.class); - Dialect dialect = session.getSessionFactory().unwrap(SessionFactoryImplementor.class).getJdbcServices().getDialect(); - String loggedUser = dialect.inlineLiteral(LoggedUser.get()); + String loggedUser = LoggedUser.get(); session.doWork(connection -> { update( connection, String.format( - "SET LOCAL var.logged_user = %s", loggedUser + "SET LOCAL var.logged_user = '%s'", loggedUser ) ); }); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/basic/DefaultTimestampTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/basic/DefaultTimestampTest.java index b0ee347bd..aaea71812 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/basic/DefaultTimestampTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/basic/DefaultTimestampTest.java @@ -1,12 +1,12 @@ package com.vladmihalcea.hpjp.hibernate.basic; import com.vladmihalcea.hpjp.util.AbstractMySQLIntegrationTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.Date; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/basic/MySQLBinaryTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/basic/MySQLBinaryTest.java index 461733974..0c1f90741 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/basic/MySQLBinaryTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/basic/MySQLBinaryTest.java @@ -5,11 +5,11 @@ import jakarta.persistence.GeneratedValue; import jakarta.persistence.Id; import jakarta.persistence.Table; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Arrays; -import static org.junit.Assert.assertArrayEquals; +import static org.junit.jupiter.api.Assertions.assertArrayEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/BatchMergeVsUpdateTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/BatchMergeVsUpdateTest.java index 0cbd9df59..e80275bb8 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/BatchMergeVsUpdateTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/BatchMergeVsUpdateTest.java @@ -3,7 +3,8 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; import org.hibernate.Session; -import org.junit.Test; +import org.hibernate.StatelessSession; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; @@ -102,9 +103,10 @@ public void testUpdate() { doInJPA(entityManager -> { LOGGER.info("Update"); - Session session = entityManager.unwrap(Session.class); - for (Post post : posts) { - session.update(post); + try(StatelessSession session = entityManager.unwrap(Session.class).getSessionFactory().openStatelessSession()) { + for (Post post : posts) { + session.update(post); + } } }); } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/BatchTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/BatchTest.java index 2ac630873..63056d537 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/BatchTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/BatchTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.Session; import org.jboss.logging.Logger; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/BatchingOptimisticLockingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/BatchingOptimisticLockingTest.java index 27a954ca1..7040f9336 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/BatchingOptimisticLockingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/BatchingOptimisticLockingTest.java @@ -3,14 +3,14 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.exception.ExceptionUtil; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.List; import java.util.Properties; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea @@ -37,7 +37,7 @@ protected void additionalProperties(Properties properties) { } @Test - public void testOptimsticLOcking() { + public void testOptimsticLocking() { doInJPA(entityManager -> { for (int i = 1; i <= 3; i++) { entityManager.persist( @@ -72,14 +72,11 @@ public void testOptimsticLOcking() { ); }); } catch (Exception e) { - assertTrue( - ExceptionUtil.rootCause(e).getMessage() - .startsWith( - "Batch update returned unexpected row count from update [0]; " + - "actual row count: 0; " + - "expected: 1; " + - "statement executed:" - ) + assertTrue(ExceptionUtil.rootCause(e).getMessage() + .startsWith( + "Batch update returned unexpected row count from update 0 " + + "(expected row count 1 but was 0)" + ) ); } } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/BatchingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/BatchingTest.java index 88922277b..b840a7b18 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/BatchingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/BatchingTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; import org.hibernate.cfg.AvailableSettings; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/DeletingWithSQLCascadeBatchingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/DeletingWithSQLCascadeBatchingTest.java index 7b6a45580..09ecae18d 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/DeletingWithSQLCascadeBatchingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/DeletingWithSQLCascadeBatchingTest.java @@ -4,7 +4,7 @@ import jakarta.persistence.*; import org.hibernate.annotations.OnDelete; import org.hibernate.annotations.OnDeleteAction; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.List; @@ -114,7 +114,7 @@ public static class PostComment { private Long id; @ManyToOne - @org.hibernate.annotations.ForeignKey(name = "fk_post_comment_post") + @JoinColumn(foreignKey = @ForeignKey(name = "fk_post_comment_post")) private Post post; private String review; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/DeletingWithoutCascadeBatchingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/DeletingWithoutCascadeBatchingTest.java index 287d876fa..ca5b005d7 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/DeletingWithoutCascadeBatchingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/DeletingWithoutCascadeBatchingTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/MySQLBatchInsertLoadTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/MySQLBatchInsertLoadTest.java index dc48e154f..8f75feb87 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/MySQLBatchInsertLoadTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/MySQLBatchInsertLoadTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/MySQLBatchRewriteTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/MySQLBatchRewriteTest.java index 1502aac6a..cb25fe469 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/MySQLBatchRewriteTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/MySQLBatchRewriteTest.java @@ -4,7 +4,7 @@ import com.vladmihalcea.hpjp.util.providers.DataSourceProvider; import com.vladmihalcea.hpjp.util.providers.MySQLDataSourceProvider; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/OracleVersionedBatchingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/OracleVersionedBatchingTest.java index e05016f29..30a3f1475 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/OracleVersionedBatchingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/OracleVersionedBatchingTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.batch; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/PersistenceContextExtendedBatchTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/PersistenceContextExtendedBatchTest.java index e7a39b0e6..fe7e6d177 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/PersistenceContextExtendedBatchTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/PersistenceContextExtendedBatchTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.Session; import org.jboss.logging.Logger; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Entity; import jakarta.persistence.EntityManager; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/PostgreSQLBatchRewriteTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/PostgreSQLBatchRewriteTest.java index 00b64c125..f54c62736 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/PostgreSQLBatchRewriteTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/PostgreSQLBatchRewriteTest.java @@ -4,7 +4,7 @@ import com.vladmihalcea.hpjp.util.providers.DataSourceProvider; import com.vladmihalcea.hpjp.util.providers.PostgreSQLDataSourceProvider; import jakarta.persistence.*; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.postgresql.ds.PGSimpleDataSource; import javax.sql.DataSource; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/SQLServerBulkCopyForBatchInsertTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/SQLServerBulkCopyForBatchInsertTest.java index 5fbaddd73..8787b96f6 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/SQLServerBulkCopyForBatchInsertTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/SQLServerBulkCopyForBatchInsertTest.java @@ -5,7 +5,7 @@ import com.vladmihalcea.hpjp.util.providers.Database; import com.vladmihalcea.hpjp.util.providers.SQLServerDataSourceProvider; import jakarta.persistence.*; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.Iterator; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/StatelessSessionBatchingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/StatelessSessionBatchingTest.java index 07853d688..043debe59 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/StatelessSessionBatchingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/StatelessSessionBatchingTest.java @@ -7,7 +7,7 @@ import org.hibernate.cfg.AvailableSettings; import org.hibernate.query.criteria.HibernateCriteriaBuilder; import org.hibernate.query.criteria.JpaCriteriaDelete; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.List; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/VersionedBatchingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/VersionedBatchingTest.java index 3ec45bd3c..d76b8b8ac 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/VersionedBatchingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/VersionedBatchingTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.batch; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/failure/AbstractBatchUpdateExceptionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/failure/AbstractBatchUpdateExceptionTest.java index 0a5af92ff..38e7f80f2 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/failure/AbstractBatchUpdateExceptionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/failure/AbstractBatchUpdateExceptionTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Entity; import jakarta.persistence.Id; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/failure/MySQLBatchUpdateExceptionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/failure/MySQLBatchUpdateExceptionTest.java index 1ab612f4f..fea1fd39f 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/failure/MySQLBatchUpdateExceptionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/failure/MySQLBatchUpdateExceptionTest.java @@ -5,7 +5,7 @@ import java.sql.BatchUpdateException; import java.util.Arrays; -import static org.junit.Assert.assertSame; +import static org.junit.jupiter.api.Assertions.assertSame; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/failure/OracleBatchUpdateExceptionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/failure/OracleBatchUpdateExceptionTest.java index 1896e15e5..b51232d21 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/failure/OracleBatchUpdateExceptionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/failure/OracleBatchUpdateExceptionTest.java @@ -4,8 +4,8 @@ import java.sql.*; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertSame; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertSame; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/failure/PostgreSQLBatchUpdateExceptionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/failure/PostgreSQLBatchUpdateExceptionTest.java index 945dc733a..02e040f7f 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/failure/PostgreSQLBatchUpdateExceptionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/failure/PostgreSQLBatchUpdateExceptionTest.java @@ -4,7 +4,7 @@ import java.sql.BatchUpdateException; -import static org.junit.Assert.assertSame; +import static org.junit.jupiter.api.Assertions.assertSame; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/failure/SQLServerBatchUpdateExceptionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/failure/SQLServerBatchUpdateExceptionTest.java index 9b54752db..710e270c9 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/failure/SQLServerBatchUpdateExceptionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/failure/SQLServerBatchUpdateExceptionTest.java @@ -5,7 +5,7 @@ import java.sql.BatchUpdateException; import java.util.Arrays; -import static org.junit.Assert.assertSame; +import static org.junit.jupiter.api.Assertions.assertSame; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/identity/IdentityBatchingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/identity/IdentityBatchingTest.java index abf42ddac..e4ca5bed9 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/identity/IdentityBatchingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/identity/IdentityBatchingTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.batch.identity; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.List; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/identity/stateless/MySQLIdentityStatelessSessionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/identity/stateless/MySQLIdentityStatelessSessionTest.java index c84688127..1418c6b10 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/identity/stateless/MySQLIdentityStatelessSessionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/identity/stateless/MySQLIdentityStatelessSessionTest.java @@ -7,7 +7,7 @@ import org.hibernate.StatelessSession; import org.hibernate.Transaction; import org.hibernate.cfg.AvailableSettings; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Properties; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/identity/stateless/NoIdentityGenerator.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/identity/stateless/NoIdentityGenerator.java index 90bbfeeb9..90d86d336 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/identity/stateless/NoIdentityGenerator.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/batch/identity/stateless/NoIdentityGenerator.java @@ -2,12 +2,11 @@ import org.hibernate.engine.spi.SharedSessionContractImplementor; import org.hibernate.id.IdentifierGenerator; -import org.hibernate.id.factory.spi.StandardGenerator; /** * @author Vlad Mihalcea */ -public class NoIdentityGenerator implements IdentifierGenerator, StandardGenerator { +public class NoIdentityGenerator implements IdentifierGenerator { @Override public Object generate(SharedSessionContractImplementor session, Object obj) { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/binding/EntityBindingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/binding/EntityBindingTest.java index 49c63e9e9..0eb0d428a 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/binding/EntityBindingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/binding/EntityBindingTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.exception.DataAccessException; import com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.PreparedStatement; import java.sql.ResultSet; @@ -16,8 +16,8 @@ import static com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider.Post; import static com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider.PostComment; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea @@ -41,8 +41,7 @@ protected Class[] entities() { } @Override - public void init() { - super.init(); + public void afterInit() { doInJDBC(connection -> { try ( PreparedStatement postStatement = connection.prepareStatement(INSERT_POST); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/binding/ParameterBindingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/binding/ParameterBindingTest.java index dad01f6b3..efd22dc92 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/binding/ParameterBindingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/binding/ParameterBindingTest.java @@ -3,15 +3,15 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.exception.DataAccessException; import com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Timestamp; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; /** * ParameterBindingTest - Test parameter binding in PreparedStatement @@ -37,8 +37,7 @@ protected Class[] entities() { } @Override - public void init() { - super.init(); + public void afterInit() { doInJDBC(connection -> { try ( PreparedStatement postStatement = connection.prepareStatement(INSERT_POST); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/bootstrap/AbstractJPAProgrammaticBootstrapTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/bootstrap/AbstractJPAProgrammaticBootstrapTest.java index ecec643fc..88e957afd 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/bootstrap/AbstractJPAProgrammaticBootstrapTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/bootstrap/AbstractJPAProgrammaticBootstrapTest.java @@ -4,16 +4,17 @@ import com.vladmihalcea.hpjp.util.PersistenceUnitInfoImpl; import com.vladmihalcea.hpjp.util.providers.DataSourceProvider; import com.vladmihalcea.hpjp.util.providers.Database; +import jakarta.persistence.EntityManagerFactory; +import jakarta.persistence.spi.PersistenceUnitInfo; import org.hibernate.integrator.spi.Integrator; import org.hibernate.jpa.HibernatePersistenceProvider; import org.hibernate.jpa.boot.spi.IntegratorProvider; import org.junit.After; -import org.junit.Before; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import jakarta.persistence.EntityManagerFactory; -import jakarta.persistence.spi.PersistenceUnitInfo; import javax.sql.DataSource; import java.util.*; import java.util.stream.Collectors; @@ -31,7 +32,7 @@ public EntityManagerFactory entityManagerFactory() { return emf; } - @Before + @BeforeEach public void init() { PersistenceUnitInfo persistenceUnitInfo = persistenceUnitInfo(getClass().getSimpleName()); @@ -48,7 +49,7 @@ public void init() { ); } - @After + @AfterEach public void destroy() { emf.close(); } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/bootstrap/BootstrapTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/bootstrap/BootstrapTest.java index 4cf4cc955..87064e215 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/bootstrap/BootstrapTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/bootstrap/BootstrapTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.bootstrap; import com.vladmihalcea.hpjp.util.transaction.JPATransactionVoidFunction; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/bulk/JPQLBulkUpdateDeleteTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/bulk/JPQLBulkUpdateDeleteTest.java index 4c2d5fbbe..1c1ac108a 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/bulk/JPQLBulkUpdateDeleteTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/bulk/JPQLBulkUpdateDeleteTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; @@ -10,7 +10,7 @@ import java.time.LocalDateTime; import java.util.Date; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/bytecode/BytecodeEnhancedOneToOneTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/bytecode/BytecodeEnhancedOneToOneTest.java index 0f92a333f..ff0513e0b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/bytecode/BytecodeEnhancedOneToOneTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/bytecode/BytecodeEnhancedOneToOneTest.java @@ -1,24 +1,22 @@ package com.vladmihalcea.hpjp.hibernate.bytecode; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.hibernate.annotations.LazyToOne; -import org.hibernate.annotations.LazyToOneOption; -import org.hibernate.testing.bytecode.enhancement.BytecodeEnhancerRunner; -import org.junit.Test; -import org.junit.runner.RunWith; +import jakarta.persistence.*; +import org.hibernate.testing.bytecode.enhancement.extension.BytecodeEnhanced; +import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import jakarta.persistence.*; import java.util.Date; import static junit.framework.TestCase.fail; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNotNull; + /** * @author Vlad Mihalcea */ -@RunWith(BytecodeEnhancerRunner.class) +@BytecodeEnhanced public class BytecodeEnhancedOneToOneTest extends AbstractTest { //Needed as otherwise we get a No unique field [LOGGER] error @@ -73,7 +71,6 @@ public static class Post { fetch = FetchType.LAZY, cascade = CascadeType.ALL ) - @LazyToOne(LazyToOneOption.NO_PROXY) private PostDetails details; public Long getId() { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/bytecode/BytecodeEnhancedTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/bytecode/BytecodeEnhancedTest.java index c9d7086a3..08f3c8836 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/bytecode/BytecodeEnhancedTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/bytecode/BytecodeEnhancedTest.java @@ -5,7 +5,7 @@ import com.vladmihalcea.hpjp.hibernate.forum.PostDetails; import com.vladmihalcea.hpjp.hibernate.forum.Tag; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/bytecode/BytecodeEnhancementBidirectionalOneToManyAssociationManagementTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/bytecode/BytecodeEnhancementBidirectionalOneToManyAssociationManagementTest.java index 3e8a0f06b..978d434ad 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/bytecode/BytecodeEnhancementBidirectionalOneToManyAssociationManagementTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/bytecode/BytecodeEnhancementBidirectionalOneToManyAssociationManagementTest.java @@ -1,10 +1,10 @@ package com.vladmihalcea.hpjp.hibernate.bytecode; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.hibernate.testing.bytecode.enhancement.BytecodeEnhancerRunner; +import org.hibernate.testing.bytecode.enhancement.extension.BytecodeEnhanced; import org.hibernate.testing.bytecode.enhancement.EnhancementOptions; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -12,12 +12,13 @@ import java.util.ArrayList; import java.util.List; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; +import org.junit.runner.RunWith; /** * @author Vlad Mihalcea */ -@RunWith(BytecodeEnhancerRunner.class) +@BytecodeEnhanced @EnhancementOptions( biDirectionalAssociationManagement = true ) diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/bytecode/BytecodeEnhancementBidirectionalOneToOneAssociationManagementTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/bytecode/BytecodeEnhancementBidirectionalOneToOneAssociationManagementTest.java index 3437547c2..752daa486 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/bytecode/BytecodeEnhancementBidirectionalOneToOneAssociationManagementTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/bytecode/BytecodeEnhancementBidirectionalOneToOneAssociationManagementTest.java @@ -1,12 +1,10 @@ package com.vladmihalcea.hpjp.hibernate.bytecode; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.hibernate.annotations.LazyToOne; -import org.hibernate.annotations.LazyToOneOption; -import org.hibernate.testing.bytecode.enhancement.BytecodeEnhancerRunner; +import org.hibernate.testing.bytecode.enhancement.extension.BytecodeEnhanced; import org.hibernate.testing.bytecode.enhancement.EnhancementOptions; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -14,12 +12,13 @@ import java.util.Date; import static junit.framework.TestCase.fail; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; +import org.junit.runner.RunWith; /** * @author Vlad Mihalcea */ -@RunWith(BytecodeEnhancerRunner.class) +@BytecodeEnhanced @EnhancementOptions( biDirectionalAssociationManagement = true ) @@ -99,7 +98,6 @@ public static class Post { fetch = FetchType.LAZY, cascade = CascadeType.ALL ) - @LazyToOne(LazyToOneOption.NO_PROXY) private PostDetails details; public Long getId() { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/bytecode/BytecodeEnhancementDirtyCheckingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/bytecode/BytecodeEnhancementDirtyCheckingTest.java index 6afa65dd0..f2e0c60e4 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/bytecode/BytecodeEnhancementDirtyCheckingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/bytecode/BytecodeEnhancementDirtyCheckingTest.java @@ -2,14 +2,15 @@ import com.vladmihalcea.hpjp.hibernate.forum.Tag; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.hibernate.testing.bytecode.enhancement.BytecodeEnhancerRunner; -import org.junit.Test; +import org.hibernate.testing.bytecode.enhancement.extension.BytecodeEnhanced; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.junit.runner.RunWith; /** * @author Vlad Mihalcea */ -@RunWith(BytecodeEnhancerRunner.class) +@BytecodeEnhanced public class BytecodeEnhancementDirtyCheckingTest extends AbstractTest { @Override diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/CollectionCacheTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/CollectionCacheTest.java index 504affc6e..62a8264e9 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/CollectionCacheTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/CollectionCacheTest.java @@ -1,20 +1,20 @@ package com.vladmihalcea.hpjp.hibernate.cache; import com.vladmihalcea.hpjp.util.AbstractTest; +import jakarta.persistence.*; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.annotations.CacheConcurrencyStrategy; import org.hibernate.query.NativeQuery; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; -import jakarta.persistence.*; import java.sql.PreparedStatement; import java.util.ArrayList; import java.util.List; import java.util.Properties; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** @@ -40,9 +40,7 @@ protected Properties properties() { return properties; } - @Before - public void init() { - super.init(); + public void afterInit() { doInJPA(entityManager -> { Repository repository = new Repository("Hibernate-Master-Class"); repository.id = 1L; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/CollectionLoadedStateTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/CollectionLoadedStateTest.java index 26410762f..ff083e91f 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/CollectionLoadedStateTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/CollectionLoadedStateTest.java @@ -3,14 +3,14 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.annotations.Cache; import org.hibernate.annotations.CacheConcurrencyStrategy; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; import java.util.List; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/EntityCacheEntryLoadedStateTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/EntityCacheEntryLoadedStateTest.java index b774c5506..0bcd5ec87 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/EntityCacheEntryLoadedStateTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/EntityCacheEntryLoadedStateTest.java @@ -3,13 +3,13 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.annotations.Cache; import org.hibernate.annotations.CacheConcurrencyStrategy; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.Date; import java.util.Properties; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/EntityCacheEntryReferenceTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/EntityCacheEntryReferenceTest.java index b10037af1..8db1762a1 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/EntityCacheEntryReferenceTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/EntityCacheEntryReferenceTest.java @@ -4,13 +4,13 @@ import org.hibernate.annotations.Cache; import org.hibernate.annotations.CacheConcurrencyStrategy; import org.hibernate.annotations.Immutable; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.Properties; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/EntityNullResultCacheTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/EntityNullResultCacheTest.java index fa60b02b4..f48c7a836 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/EntityNullResultCacheTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/EntityNullResultCacheTest.java @@ -3,9 +3,9 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.annotations.CacheConcurrencyStrategy; import org.hibernate.annotations.CacheLayout; -import org.hibernate.annotations.QueryHints; import org.hibernate.cfg.AvailableSettings; -import org.junit.Test; +import org.hibernate.jpa.HibernateHints; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import jakarta.persistence.criteria.CriteriaBuilder; @@ -13,9 +13,9 @@ import jakarta.persistence.criteria.Root; import java.util.Properties; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; /** * @author Vlad Mihalcea @@ -103,7 +103,7 @@ public void testFindNonExistingEntityWithQuery() { "from Book b " + "where b.isbn = :isbn", Book.class) .setParameter("isbn", "978-9730456472") - .setHint(QueryHints.CACHEABLE, true) + .setHint(HibernateHints.HINT_CACHEABLE, true) .getSingleResult(); } catch (NoResultException expected) { } @@ -118,7 +118,7 @@ public void testFindNonExistingEntityWithQuery() { "from Book b " + "where b.isbn = :isbn", Book.class) .setParameter("isbn", "978-9730456472") - .setHint(QueryHints.CACHEABLE, true) + .setHint(HibernateHints.HINT_CACHEABLE, true) .getSingleResult(); } catch (NoResultException expected) { } @@ -158,7 +158,7 @@ public T getCacheableEntity( return entityManager .createQuery(criteria) - .setHint(QueryHints.CACHEABLE, true) + .setHint(HibernateHints.HINT_CACHEABLE, true) .getSingleResult(); }); } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/InheritanceCacheTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/InheritanceCacheTest.java index 893a3c92f..38b099b98 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/InheritanceCacheTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/InheritanceCacheTest.java @@ -1,13 +1,13 @@ package com.vladmihalcea.hpjp.hibernate.cache; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.hibernate.annotations.*; +import jakarta.persistence.*; +import org.hibernate.annotations.CacheConcurrencyStrategy; +import org.hibernate.annotations.CacheLayout; import org.hibernate.cfg.AvailableSettings; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; -import jakarta.persistence.*; -import jakarta.persistence.Entity; import java.util.Date; import java.util.Properties; @@ -34,9 +34,7 @@ protected Properties properties() { return properties; } - @Before - public void init() { - super.init(); + public void afterInit() { doInJPA(entityManager -> { Post post1 = new Post(); post1.setId(1L); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/JPACacheableTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/JPACacheableTest.java index 87dc2bb46..234bffeb2 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/JPACacheableTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/JPACacheableTest.java @@ -5,12 +5,12 @@ import jakarta.persistence.Entity; import jakarta.persistence.Id; import org.hibernate.stat.Statistics; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Properties; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/LoadedStateBenchmarkTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/LoadedStateBenchmarkTest.java index 3f32ec529..6e14ca5d6 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/LoadedStateBenchmarkTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/LoadedStateBenchmarkTest.java @@ -4,26 +4,24 @@ import com.codahale.metrics.Slf4jReporter; import com.codahale.metrics.Timer; import com.vladmihalcea.hpjp.util.AbstractTest; +import jakarta.persistence.*; import org.hibernate.annotations.CacheConcurrencyStrategy; import org.hibernate.annotations.Immutable; -import org.junit.Before; -import org.junit.Ignore; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.ValueSource; -import jakarta.persistence.*; import java.io.Serializable; -import java.util.*; +import java.util.Date; +import java.util.Properties; import java.util.concurrent.TimeUnit; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * @author Vlad Mihalcea */ -@RunWith(Parameterized.class) public class LoadedStateBenchmarkTest extends AbstractTest { private MetricRegistry metricRegistry = new MetricRegistry(); @@ -35,23 +33,6 @@ public class LoadedStateBenchmarkTest extends AbstractTest { .outputTo(LOGGER) .build(); - private int insertCount; - - public LoadedStateBenchmarkTest(int insertCount) { - this.insertCount = insertCount; - } - - @Parameterized.Parameters - public static Collection dataProvider() { - List providers = new ArrayList<>(); - providers.add(new Object[]{100}); - providers.add(new Object[]{500}); - providers.add(new Object[]{1000}); - providers.add(new Object[]{5000}); - providers.add(new Object[]{10000}); - return providers; - } - @Override protected Class[] entities() { return new Class[] { @@ -71,28 +52,23 @@ protected Properties properties() { return properties; } - @Before - public void init() { - super.init(); + public void addData(int insertCount) { doInJPA(entityManager -> { for (long i = 0; i < insertCount; i++) { Post post = new Post(); post.setId(i); post.setTitle("High-Performance Java Persistence"); entityManager.persist(post); -/* - PostDetails details = new PostDetails(); - details.setCreatedBy("Vlad Mihalcea"); - details.setCreatedOn(new Date()); - details.setPost(post); - entityManager.persist(details);*/ } }); } - @Test - @Ignore - public void testReadOnlyFetchPerformance() { + @ParameterizedTest + @ValueSource(ints = {100, 500, 1_000, 5_000, 10_000}) + @Disabled + public void testReadOnlyFetchPerformance(int insertCount) { + addData(insertCount); + //warming-up doInJPA(entityManager -> { for (long i = 0; i < 10000; i++) { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/LoadedStateReferenceEntitiesTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/LoadedStateReferenceEntitiesTest.java index 145d3e3f3..7f5d9284d 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/LoadedStateReferenceEntitiesTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/LoadedStateReferenceEntitiesTest.java @@ -9,15 +9,10 @@ */ public class LoadedStateReferenceEntitiesTest extends LoadedStateBenchmarkTest { - public LoadedStateReferenceEntitiesTest(int insertCount) { - super(insertCount); - } - @Override protected Properties properties() { Properties properties = super.properties(); properties.put("hibernate.cache.use_reference_entries", Boolean.TRUE.toString()); return properties; } - } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/QueryLoadedStateTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/QueryLoadedStateTest.java index 302ff2596..68413b146 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/QueryLoadedStateTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/QueryLoadedStateTest.java @@ -5,14 +5,14 @@ import org.hibernate.annotations.CacheConcurrencyStrategy; import org.hibernate.annotations.CacheLayout; import org.hibernate.cfg.AvailableSettings; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Entity; import jakarta.persistence.Id; import java.util.List; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/nonstrictreadwrite/NonStrictReadWriteCacheConcurrencyStrategyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/nonstrictreadwrite/NonStrictReadWriteCacheConcurrencyStrategyTest.java index 70ef1da23..90b8749eb 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/nonstrictreadwrite/NonStrictReadWriteCacheConcurrencyStrategyTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/nonstrictreadwrite/NonStrictReadWriteCacheConcurrencyStrategyTest.java @@ -3,15 +3,15 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; import org.hibernate.annotations.CacheConcurrencyStrategy; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; import java.util.List; import java.util.Properties; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/nonstrictreadwrite/NonStrictReadWriteCacheConcurrencyStrategyWithConcurrentUpdateTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/nonstrictreadwrite/NonStrictReadWriteCacheConcurrencyStrategyWithConcurrentUpdateTest.java index 63eadc0e7..13b64048b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/nonstrictreadwrite/NonStrictReadWriteCacheConcurrencyStrategyWithConcurrentUpdateTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/nonstrictreadwrite/NonStrictReadWriteCacheConcurrencyStrategyWithConcurrentUpdateTest.java @@ -1,18 +1,22 @@ package com.vladmihalcea.hpjp.hibernate.cache.nonstrictreadwrite; import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; -import org.hibernate.*; +import jakarta.persistence.*; +import org.hibernate.Interceptor; +import org.hibernate.LockMode; +import org.hibernate.Session; +import org.hibernate.Transaction; import org.hibernate.annotations.CacheConcurrencyStrategy; import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; -import jakarta.persistence.*; import java.util.Properties; import java.util.concurrent.CountDownLatch; import java.util.concurrent.atomic.AtomicBoolean; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; /** @@ -33,7 +37,7 @@ protected Class[] entities() { private final CountDownLatch endLatch = new CountDownLatch(1); - private class BobTransaction extends EmptyInterceptor { + private class BobTransaction implements Interceptor { @Override public void beforeTransactionCompletion(Transaction tx) { if(applyInterceptor.get()) { @@ -68,9 +72,7 @@ protected Properties properties() { return properties; } - @Before - public void init() { - super.init(); + public void afterInit() { doInJPA(entityManager -> { Repository repository = new Repository("Hibernate-Master-Class"); entityManager.persist(repository); @@ -105,7 +107,7 @@ public void testOptimisticLocking() { doInJPA(entityManager -> { LOGGER.info("Load Repository"); Repository repository = entityManager.find(Repository.class, 1L); - entityManager.unwrap(Session.class).buildLockRequest(new LockOptions().setLockMode(LockMode.OPTIMISTIC)).lock(repository); + entityManager.unwrap(Session.class).lock(repository, LockMode.OPTIMISTIC); }); doInJPA(entityManager -> { LOGGER.info("Load Repository again"); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/query/QueryCacheDTOTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/query/QueryCacheDTOTest.java index 9016b4ac0..1832ad1d4 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/query/QueryCacheDTOTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/query/QueryCacheDTOTest.java @@ -9,7 +9,8 @@ import org.hibernate.jpa.AvailableHints; import org.hibernate.jpa.boot.spi.IntegratorProvider; import org.junit.After; -import org.junit.Test; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; @@ -17,7 +18,7 @@ import java.util.List; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea @@ -72,7 +73,7 @@ public void afterInit() { }); } - @After + @AfterEach public void destroy() { entityManagerFactory().getCache().evictAll(); super.destroy(); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/query/QueryCacheNPlus1Test.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/query/QueryCacheNPlus1Test.java index ac3ba58bb..0fdb51bdd 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/query/QueryCacheNPlus1Test.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/query/QueryCacheNPlus1Test.java @@ -6,13 +6,14 @@ import org.hibernate.cfg.AvailableSettings; import org.hibernate.jpa.AvailableHints; import org.junit.After; -import org.junit.Test; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.List; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea @@ -58,7 +59,7 @@ public void afterInit() { }); } - @After + @AfterEach public void destroy() { entityManagerFactory().getCache().evictAll(); super.destroy(); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/query/QueryCacheTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/query/QueryCacheTest.java index 25214954a..72cc5f9fb 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/query/QueryCacheTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/query/QueryCacheTest.java @@ -7,15 +7,16 @@ import org.hibernate.jpa.AvailableHints; import org.hibernate.query.NativeQuery; import org.junit.After; -import org.junit.Test; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; import java.util.List; import java.util.Properties; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea @@ -53,7 +54,7 @@ public void afterInit() { }); } - @After + @AfterEach public void destroy() { entityManagerFactory().getCache().evictAll(); super.destroy(); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/readonly/IdentityReadOnlyCacheConcurrencyStrategyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/readonly/IdentityReadOnlyCacheConcurrencyStrategyTest.java index 5c29a4a01..3e88ea5c1 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/readonly/IdentityReadOnlyCacheConcurrencyStrategyTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/readonly/IdentityReadOnlyCacheConcurrencyStrategyTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.annotations.CacheConcurrencyStrategy; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.Properties; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/readonly/ReadOnlyCacheConcurrencyStrategyImmutableTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/readonly/ReadOnlyCacheConcurrencyStrategyImmutableTest.java index c81f98dce..17b04efae 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/readonly/ReadOnlyCacheConcurrencyStrategyImmutableTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/readonly/ReadOnlyCacheConcurrencyStrategyImmutableTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.annotations.CacheConcurrencyStrategy; import org.hibernate.annotations.Immutable; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/readonly/ReadOnlyCacheConcurrencyStrategyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/readonly/ReadOnlyCacheConcurrencyStrategyTest.java index 9762ab38a..986666f02 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/readonly/ReadOnlyCacheConcurrencyStrategyTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/readonly/ReadOnlyCacheConcurrencyStrategyTest.java @@ -2,15 +2,15 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.annotations.CacheConcurrencyStrategy; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; import java.util.List; import java.util.Properties; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/readonly/SequenceReadOnlyCacheConcurrencyStrategyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/readonly/SequenceReadOnlyCacheConcurrencyStrategyTest.java index 0555c24f8..bb4b995c2 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/readonly/SequenceReadOnlyCacheConcurrencyStrategyTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/readonly/SequenceReadOnlyCacheConcurrencyStrategyTest.java @@ -3,7 +3,8 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.annotations.CacheConcurrencyStrategy; import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.Properties; @@ -31,9 +32,7 @@ protected Properties properties() { return properties; } - @Before - public void init() { - super.init(); + public void afterInit() { doInJPA(entityManager -> { Post post = new Post(); post.setTitle("High-Performance Java Persistence"); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/readwrite/IdentityReadWriteCacheConcurrencyStrategyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/readwrite/IdentityReadWriteCacheConcurrencyStrategyTest.java index 4a3fb5ce1..9bac66635 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/readwrite/IdentityReadWriteCacheConcurrencyStrategyTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/readwrite/IdentityReadWriteCacheConcurrencyStrategyTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; import org.hibernate.annotations.CacheConcurrencyStrategy; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/readwrite/ReadWriteCacheConcurrencyStrategyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/readwrite/ReadWriteCacheConcurrencyStrategyTest.java index 2481c8b20..e6be42429 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/readwrite/ReadWriteCacheConcurrencyStrategyTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/readwrite/ReadWriteCacheConcurrencyStrategyTest.java @@ -4,15 +4,15 @@ import com.vladmihalcea.hpjp.util.providers.Database; import org.hibernate.annotations.CacheConcurrencyStrategy; import org.hibernate.cache.internal.EnabledCaching; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; import java.util.List; import java.util.Properties; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/readwrite/ReadWriteCacheConcurrencyStrategyWithLockTimeoutTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/readwrite/ReadWriteCacheConcurrencyStrategyWithLockTimeoutTest.java index f1039bf9a..6752c2c15 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/readwrite/ReadWriteCacheConcurrencyStrategyWithLockTimeoutTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/readwrite/ReadWriteCacheConcurrencyStrategyWithLockTimeoutTest.java @@ -1,19 +1,18 @@ package com.vladmihalcea.hpjp.hibernate.cache.readwrite; import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; +import jakarta.persistence.*; import org.apache.commons.lang3.builder.ToStringBuilder; -import org.hibernate.EmptyInterceptor; import org.hibernate.Interceptor; import org.hibernate.Transaction; import org.hibernate.annotations.CacheConcurrencyStrategy; import org.hibernate.cache.internal.DefaultCacheKeysFactory; import org.hibernate.engine.spi.SessionFactoryImplementor; import org.hibernate.persister.entity.EntityPersister; -import org.junit.Before; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; -import jakarta.persistence.*; import java.io.Serializable; import java.lang.reflect.Field; import java.util.Properties; @@ -38,7 +37,7 @@ protected Class[] entities() { @Override protected Interceptor interceptor() { - return new EmptyInterceptor() { + return new Interceptor() { @Override public void beforeTransactionCompletion(Transaction tx) { if(applyInterceptor.get()) { @@ -57,9 +56,7 @@ protected Properties properties() { return properties; } - @Before - public void init() { - super.init(); + public void afterInit() { doInJPA(entityManager -> { Repository repository = new Repository("Hibernate-Master-Class"); entityManager.persist(repository); @@ -67,7 +64,7 @@ public void init() { } @Test - @Ignore("Check the timeout property in latest EhCache version") + @Disabled("Check the timeout property in latest EhCache version") public void testRepositoryEntityUpdate() { try { doInJPA(entityManager -> { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/readwrite/RepositoryReadWriteCacheConcurrencyStrategyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/readwrite/RepositoryReadWriteCacheConcurrencyStrategyTest.java index b52a3a58e..f179e3089 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/readwrite/RepositoryReadWriteCacheConcurrencyStrategyTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/readwrite/RepositoryReadWriteCacheConcurrencyStrategyTest.java @@ -1,20 +1,20 @@ package com.vladmihalcea.hpjp.hibernate.cache.readwrite; import com.vladmihalcea.hpjp.util.AbstractTest; +import jakarta.persistence.*; import org.hibernate.LockMode; -import org.hibernate.LockOptions; import org.hibernate.Session; import org.hibernate.annotations.CacheConcurrencyStrategy; import org.hibernate.annotations.Immutable; import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; -import jakarta.persistence.*; import java.util.ArrayList; import java.util.List; import java.util.Properties; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** @@ -42,9 +42,7 @@ protected Properties properties() { private Repository repositoryReference; - @Before - public void init() { - super.init(); + public void afterInit() { repositoryReference = doInJPA(entityManager -> { LOGGER.info("Read-write entities are write-through on persisting"); Repository repository = new Repository("Hibernate-Master-Class"); @@ -98,7 +96,7 @@ public void testOptimisticLocking() { doInJPA(entityManager -> { LOGGER.info("Load Repository"); Repository repository = entityManager.find(Repository.class, 1L); - entityManager.unwrap(Session.class).buildLockRequest(new LockOptions().setLockMode(LockMode.OPTIMISTIC)).lock(repository); + entityManager.unwrap(Session.class).lock(repository, LockMode.OPTIMISTIC); }); doInJPA(entityManager -> { LOGGER.info("Load Repository again"); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/readwrite/SequenceReadWriteCacheConcurrencyStrategyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/readwrite/SequenceReadWriteCacheConcurrencyStrategyTest.java index 12954d42a..d121b3c1e 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/readwrite/SequenceReadWriteCacheConcurrencyStrategyTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/readwrite/SequenceReadWriteCacheConcurrencyStrategyTest.java @@ -3,14 +3,15 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.annotations.CacheConcurrencyStrategy; import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; import java.util.List; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -34,9 +35,7 @@ protected Properties properties() { return properties; } - @Before - public void init() { - super.init(); + public void afterInit() { doInJPA(entityManager -> { Post post = new Post(); post.setTitle("High-Performance Java Persistence"); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/transactional/assigned/TransactionalCacheConcurrencyStrategyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/transactional/assigned/TransactionalCacheConcurrencyStrategyTest.java index 5cb1b3e33..aef12f40f 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/transactional/assigned/TransactionalCacheConcurrencyStrategyTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/transactional/assigned/TransactionalCacheConcurrencyStrategyTest.java @@ -5,23 +5,24 @@ import jakarta.persistence.EntityManager; import jakarta.persistence.EntityManagerFactory; import jakarta.persistence.PersistenceContext; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.transaction.support.TransactionCallback; import org.springframework.transaction.support.TransactionTemplate; import static com.vladmihalcea.hpjp.hibernate.cache.transactional.assigned.TransactionalEntities.Post; import static com.vladmihalcea.hpjp.hibernate.cache.transactional.assigned.TransactionalEntities.PostComment; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; -@RunWith(SpringJUnit4ClassRunner.class) +@ExtendWith(SpringExtension.class) @ContextConfiguration(classes = TransactionalCacheConcurrencyStrategyTestConfiguration.class) @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD) public class TransactionalCacheConcurrencyStrategyTest extends AbstractTest { @@ -52,6 +53,7 @@ public EntityManagerFactory entityManagerFactory() { return entityManager.getEntityManagerFactory(); } + @BeforeEach public void init() { doInJPA(entityManager -> { entityManager.createQuery("delete from PostComment").executeUpdate(); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/transactional/identity/IdentityTransactionalCacheConcurrencyStrategyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/transactional/identity/IdentityTransactionalCacheConcurrencyStrategyTest.java index 96ef71de1..c3b2c5dcd 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/transactional/identity/IdentityTransactionalCacheConcurrencyStrategyTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cache/transactional/identity/IdentityTransactionalCacheConcurrencyStrategyTest.java @@ -2,8 +2,9 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -11,7 +12,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.transaction.support.TransactionCallback; import org.springframework.transaction.support.TransactionTemplate; @@ -21,10 +22,10 @@ import static com.vladmihalcea.hpjp.hibernate.cache.transactional.identity.IdentityTransactionalEntities.Post; import static com.vladmihalcea.hpjp.hibernate.cache.transactional.identity.IdentityTransactionalEntities.PostComment; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; -@RunWith(SpringJUnit4ClassRunner.class) +@ExtendWith(SpringExtension.class) @ContextConfiguration(classes = IdentityTransactionalCacheConcurrencyStrategyTestConfiguration.class) @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_CLASS) public class IdentityTransactionalCacheConcurrencyStrategyTest extends AbstractTest { @@ -49,7 +50,7 @@ protected void doInJPA(JPATransactionVoidFunction function) { private PostComment comment1; private PostComment comment2; - @Before + @BeforeEach public void init() { doInJPA(entityManager -> { entityManager.createQuery("delete from PostComment").executeUpdate(); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cascade/CascadeDeleteSetFKColumnToNullTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cascade/CascadeDeleteSetFKColumnToNullTest.java index 04731346f..01a40f1ff 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cascade/CascadeDeleteSetFKColumnToNullTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cascade/CascadeDeleteSetFKColumnToNullTest.java @@ -4,6 +4,7 @@ import jakarta.persistence.*; import org.hibernate.HibernateException; import org.hibernate.boot.Metadata; +import org.hibernate.boot.spi.BootstrapContext; import org.hibernate.engine.spi.SessionFactoryImplementor; import org.hibernate.event.service.spi.EventListenerRegistry; import org.hibernate.event.spi.DeleteContext; @@ -12,7 +13,7 @@ import org.hibernate.event.spi.EventType; import org.hibernate.integrator.spi.Integrator; import org.hibernate.service.spi.SessionFactoryServiceRegistry; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -33,13 +34,8 @@ public static class CustomEventListenerIntegrator implements Integrator { public static final CustomEventListenerIntegrator INSTANCE = new CustomEventListenerIntegrator(); @Override - public void integrate( - Metadata metadata, - SessionFactoryImplementor sessionFactory, - SessionFactoryServiceRegistry serviceRegistry) { - - final EventListenerRegistry eventListenerRegistry = - serviceRegistry.getService( EventListenerRegistry.class ); + public void integrate(Metadata metadata, BootstrapContext bootstrapContext, SessionFactoryImplementor sessionFactory) { + final EventListenerRegistry eventListenerRegistry = sessionFactory.getServiceRegistry().getService(EventListenerRegistry.class); eventListenerRegistry.appendListeners(EventType.DELETE, PostDeleteEventListener.INSTANCE); } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cascade/CascadeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cascade/CascadeTest.java index 4a4ce565a..b43469b50 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cascade/CascadeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/cascade/CascadeTest.java @@ -1,16 +1,14 @@ package com.vladmihalcea.hpjp.hibernate.cascade; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.hibernate.Session; -import org.junit.Test; - import jakarta.persistence.*; +import org.junit.jupiter.api.Test; + import java.util.ArrayList; import java.util.List; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; - +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea @@ -147,12 +145,6 @@ public void testUpdate() { new PostComment() .setReview("A great reference book") ); - - doInJPA(entityManager -> { - entityManager - .unwrap(Session.class) - .update(post); - }); } @Test diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/AbstractEntityOptimisticLockingCollectionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/AbstractEntityOptimisticLockingCollectionTest.java index e3fd58702..2a63a25a7 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/AbstractEntityOptimisticLockingCollectionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/AbstractEntityOptimisticLockingCollectionTest.java @@ -4,8 +4,8 @@ import java.util.List; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotSame; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotSame; /** * AbstractEntityOptimisticLockingCollectionTest - Abstract Test to check optimistic locking collection versioning diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/AbstractLockModeOptimisticTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/AbstractLockModeOptimisticTest.java index a65718d57..a41bbc103 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/AbstractLockModeOptimisticTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/AbstractLockModeOptimisticTest.java @@ -4,6 +4,7 @@ import org.junit.Before; import jakarta.persistence.*; +import org.junit.jupiter.api.BeforeEach; /** * AbstractLockModeOptimisticTest - Base Test to check LockMode.OPTIMISTIC @@ -20,9 +21,7 @@ protected Class[] entities() { }; } - @Before - public void init() { - super.init(); + public void afterInit() { doInJPA(entityManager -> { Post post = new Post(); post.setId(1L); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/AllPropertiesOptimisticLockingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/AllPropertiesOptimisticLockingTest.java index 2321c0b4e..abadf28bd 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/AllPropertiesOptimisticLockingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/AllPropertiesOptimisticLockingTest.java @@ -5,12 +5,12 @@ import org.hibernate.annotations.DynamicUpdate; import org.hibernate.annotations.OptimisticLockType; import org.hibernate.annotations.OptimisticLocking; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/BulkUpdateOptimisticLockingIntegerVersionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/BulkUpdateOptimisticLockingIntegerVersionTest.java index c4ceefdb3..72770867b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/BulkUpdateOptimisticLockingIntegerVersionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/BulkUpdateOptimisticLockingIntegerVersionTest.java @@ -5,9 +5,9 @@ import jakarta.persistence.*; import jakarta.persistence.criteria.*; import org.hibernate.annotations.DynamicUpdate; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/BulkUpdateOptimisticLockingShortVersionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/BulkUpdateOptimisticLockingShortVersionTest.java index ea768805c..706654b14 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/BulkUpdateOptimisticLockingShortVersionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/BulkUpdateOptimisticLockingShortVersionTest.java @@ -3,12 +3,12 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; import org.hibernate.annotations.DynamicUpdate; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import jakarta.persistence.criteria.*; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/CascadeLockElementCollectionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/CascadeLockElementCollectionTest.java index 010365d19..c66abbf1c 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/CascadeLockElementCollectionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/CascadeLockElementCollectionTest.java @@ -3,18 +3,16 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import jakarta.persistence.*; import org.hibernate.LockMode; -import org.hibernate.LockOptions; import org.hibernate.Session; import org.hibernate.cfg.AvailableSettings; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.Collections; import java.util.Date; import java.util.List; -import static org.junit.Assert.assertEquals; - +import static org.junit.jupiter.api.Assertions.assertEquals; /** * CascadeLockTest - Test to check CascadeType.LOCK @@ -26,8 +24,8 @@ public class CascadeLockElementCollectionTest extends AbstractTest { @Override protected Class[] entities() { return new Class[]{ - Post.class, - PostDetails.class + Post.class, + PostDetails.class }; } @@ -48,11 +46,7 @@ public void testCascadeLockOnManagedEntityWithScope() throws InterruptedExceptio LOGGER.info("Test lock cascade for managed entity"); doInJPA(entityManager -> { Post post = entityManager.find(Post.class, 1L); - entityManager.unwrap(Session.class) - .buildLockRequest( - new LockOptions(LockMode.PESSIMISTIC_WRITE)) - .setScope(true) - .lock(post); + entityManager.unwrap(Session.class).lock(post, LockMode.PESSIMISTIC_WRITE); }); } @@ -97,7 +91,7 @@ public void testCascadeLockOnManagedEntityWithAssociationsInitialzied() throws I " p.id = :id" ).setParameter("id", 1L) .getSingleResult(); - session.buildLockRequest(new LockOptions(LockMode.PESSIMISTIC_WRITE)).setScope(true).lock(post); + entityManager.unwrap(Session.class).lock(post, LockMode.PESSIMISTIC_WRITE); }); } @@ -134,130 +128,6 @@ private void containsPost(EntityManager entityManager, Post post, boolean expect assertEquals(expected, (entityManager.contains(post.getDetails()))); } - @Test - public void testCascadeLockOnDetachedEntityWithoutScope() { - LOGGER.info("Test lock cascade for detached entity without scope"); - - //Load the Post entity, which will become detached - Post post = doInJPA(entityManager -> - (Post) entityManager.createQuery( - "select p " + - "from Post p " + - "join fetch p.details " + - "join fetch p.comments " + - "where p.id = :id" - ).setParameter("id", 1L) - .getSingleResult()); - - //Change the detached entity state - post.setTitle("Hibernate Training"); - doInJPA(entityManager -> { - Session session = entityManager.unwrap(Session.class); - //The Post entity graph is detached - containsPost(entityManager, post, false); - - //The Lock request associates the entity graph and locks the requested entity - session.buildLockRequest(new LockOptions(LockMode.PESSIMISTIC_WRITE)).lock(post); - - //Hibernate doesn't know if the entity is dirty - assertEquals("Hibernate Training", post.getTitle()); - - //The Post entity graph is attached - containsPost(entityManager, post, true); - }); - doInJPA(entityManager -> { - //The detached Post entity changes have been lost - Post _post = (Post) entityManager.find(Post.class, 1L); - assertEquals("Hibernate Master Class", _post.getTitle()); - }); - } - - @Test - public void testCascadeLockOnDetachedEntityWithScope() { - LOGGER.info("Test lock cascade for detached entity with scope"); - - //Load the Post entity, which will become detached - Post post = doInJPA(entityManager -> (Post) entityManager.createQuery( - "select p " + - "from Post p " + - "join fetch p.details " + - "join fetch p.comments " + - "where p.id = :id", Post.class) - .setParameter("id", 1L) - .getSingleResult()); - - doInJPA(entityManager -> { - LOGGER.info("Reattach and lock"); - entityManager.unwrap(Session.class) - .buildLockRequest( - new LockOptions(LockMode.PESSIMISTIC_WRITE)) - .setScope(true) - .lock(post); - - //The Post entity graph is attached - containsPost(entityManager, post, true); - }); - doInJPA(entityManager -> { - //The detached Post entity changes have been lost - Post _post = (Post) entityManager.find(Post.class, 1L); - assertEquals("Hibernate Master Class", _post.getTitle()); - }); - } - - @Test - public void testCascadeLockOnDetachedEntityUninitializedWithScope() { - LOGGER.info("Test lock cascade for detached entity with scope"); - - //Load the Post entity, which will become detached - Post post = doInJPA(entityManager -> (Post) entityManager.find(Post.class, 1L)); - - doInJPA(entityManager -> { - LOGGER.info("Reattach and lock entity with associations not initialized"); - entityManager.unwrap(Session.class) - .buildLockRequest( - new LockOptions(LockMode.PESSIMISTIC_WRITE)) - .setScope(true) - .lock(post); - - LOGGER.info("Check entities are reattached"); - //The Post entity graph is attached - containsPost(entityManager, post, true); - }); - } - - @Test - public void testUpdateOnDetachedEntity() { - LOGGER.info("Test update for detached entity"); - //Load the Post entity, which will become detached - Post post = doInJPA(entityManager -> (Post) entityManager.createQuery( - "select p " + - "from Post p " + - "join fetch p.details " + - "join fetch p.comments " + - "where p.id = :id", Post.class) - .setParameter("id", 1L) - .getSingleResult()); - - //Change the detached entity state - post.setTitle("Hibernate Training"); - - doInJPA(entityManager -> { - Session session = entityManager.unwrap(Session.class); - //The Post entity graph is detached - containsPost(entityManager, post, false); - - //The update will trigger an entity state flush and attach the entity graph - session.update(post); - - //The Post entity graph is attached - containsPost(entityManager, post, true); - }); - doInJPA(entityManager -> { - Post _post = (Post) entityManager.find(Post.class, 1L); - assertEquals("Hibernate Training", _post.getTitle()); - }); - } - @Entity(name = "Post") @Table(name = "post") public static class Post { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/CascadeLockManyToOneTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/CascadeLockManyToOneTest.java index df636cc36..3081552ea 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/CascadeLockManyToOneTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/CascadeLockManyToOneTest.java @@ -7,7 +7,8 @@ import org.hibernate.annotations.Cascade; import org.hibernate.annotations.CascadeType; import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; @@ -27,9 +28,7 @@ protected Class[] entities() { }; } - @Before - public void init() { - super.init(); + public void afterInit() { doInJPA(entityManager -> { Post post = new Post(); post.setTitle("Hibernate Master Class"); @@ -47,15 +46,15 @@ public void testCascadeLockOnDetachedEntityUninitializedWithScope() { LOGGER.info("Test lock cascade for detached entity with scope"); //Load the Post entity, which will become detached - PostComment comment = doInJPA(entityManager -> (PostComment) entityManager.find(PostComment.class, 1L)); + PostComment comment = doInJPA( + entityManager -> + (PostComment) entityManager.find(PostComment.class, 1L) + ); doInJPA(entityManager -> { LOGGER.info("Reattach and lock entity with associations not initialized"); - entityManager.unwrap(Session.class) - .buildLockRequest( - new LockOptions(LockMode.PESSIMISTIC_WRITE)) - .setScope(true) - .lock(comment); + PostComment _comment = entityManager.merge(comment); + entityManager.lock(_comment, LockModeType.PESSIMISTIC_WRITE); LOGGER.info("Check entities are reattached"); }); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/CascadeLockTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/CascadeLockTest.java index c602d8ac8..98afa813b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/CascadeLockTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/CascadeLockTest.java @@ -3,17 +3,16 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import jakarta.persistence.*; import org.hibernate.LockMode; -import org.hibernate.LockOptions; import org.hibernate.Session; import org.hibernate.cfg.AvailableSettings; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.Collections; import java.util.Date; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * CascadeLockTest - Test to check CascadeType.LOCK @@ -49,11 +48,7 @@ public void testCascadeLockOnManagedEntityWithScope() throws InterruptedExceptio LOGGER.info("Test lock cascade for managed entity"); doInJPA(entityManager -> { Post post = entityManager.find(Post.class, 1L); - entityManager.unwrap(Session.class) - .buildLockRequest( - new LockOptions(LockMode.PESSIMISTIC_WRITE)) - .setScope(true) - .lock(post); + entityManager.unwrap(Session.class).lock(post, LockMode.PESSIMISTIC_WRITE); }); } @@ -100,7 +95,7 @@ public void testCascadeLockOnManagedEntityWithAssociationsInitialzied() throws I """ ).setParameter("id", 1L) .getSingleResult(); - session.buildLockRequest(new LockOptions(LockMode.PESSIMISTIC_WRITE)).setScope(true).lock(post); + session.lock(post, LockMode.PESSIMISTIC_WRITE); }); } @@ -130,151 +125,6 @@ private void containsPost(EntityManager entityManager, Post post, boolean expect } } - @Test - public void testCascadeLockOnDetachedEntityWithoutScope() { - LOGGER.info("Test lock cascade for detached entity without scope"); - - //Load the Post entity, which will become detached - Post post = doInJPA(entityManager -> - (Post) entityManager.createQuery(""" - select p - from Post p - join fetch p.details - join fetch p.comments - where p.id = :id - """ - ).setParameter("id", 1L) - .getSingleResult()); - - //Change the detached entity state - post.setTitle("Hibernate Training"); - doInJPA(entityManager -> { - Session session = entityManager.unwrap(Session.class); - //The Post entity graph is detached - containsPost(entityManager, post, false); - - //The Lock request associates the entity graph and locks the requested entity - session.buildLockRequest(new LockOptions(LockMode.PESSIMISTIC_WRITE)).lock(post); - - //Hibernate doesn't know if the entity is dirty - assertEquals("Hibernate Training", post.getTitle()); - - //The Post entity graph is attached - containsPost(entityManager, post, true); - }); - doInJPA(entityManager -> { - //The detached Post entity changes have been lost - Post _post = (Post) entityManager.find(Post.class, 1L); - assertEquals("Hibernate Master Class", _post.getTitle()); - }); - } - - @Test - public void testCascadeLockOnDetachedEntityWithScope() { - LOGGER.info("Test lock cascade for detached entity with scope"); - - //Load the Post entity, which will become detached - Post post = doInJPA(entityManager -> { - return entityManager.createQuery(""" - select p - from Post p - join fetch p.details - join fetch p.comments - where p.id = :id - """, Post.class) - .setParameter("id", 1L) - .getSingleResult(); - }); - - doInJPA(entityManager -> { - LOGGER.info("Reattach and lock"); - entityManager.unwrap(Session.class) - .buildLockRequest( - new LockOptions(LockMode.PESSIMISTIC_WRITE)) - .setScope(true) - .lock(post); - - //The Post entity graph is attached - containsPost(entityManager, post, true); - }); - doInJPA(entityManager -> { - //The detached Post entity changes have been lost - Post _post = (Post) entityManager.find(Post.class, 1L); - assertEquals("Hibernate Master Class", _post.getTitle()); - }); - } - - @Test - public void testCascadeLockOnDetachedEntityUninitializedWithScope() { - LOGGER.info("Test lock cascade for detached entity with scope"); - - //Load the Post entity, which will become detached - Post post = doInJPA(entityManager -> (Post) entityManager.find(Post.class, 1L)); - - doInJPA(entityManager -> { - LOGGER.info("Reattach and lock entity with associations not initialized"); - entityManager.unwrap(Session.class) - .buildLockRequest( - new LockOptions(LockMode.PESSIMISTIC_WRITE)) - .setScope(true) - .lock(post); - - LOGGER.info("Check entities are reattached"); - //The Post entity graph is attached - containsPost(entityManager, post, true); - }); - } - - @Test - public void testCascadeLockOnDetachedChildEntityUninitializedWithScope() { - LOGGER.info("Test lock cascade for detached entity with scope"); - - //Load the Post entity, which will become detached - PostComment postComment = doInJPA(entityManager -> (PostComment) entityManager.find(PostComment.class, 2L)); - - doInJPA(entityManager -> { - LOGGER.info("Reattach and lock entity with associations not initialized"); - entityManager.unwrap(Session.class) - .buildLockRequest( - new LockOptions(LockMode.PESSIMISTIC_WRITE)) - .lock(postComment); - }); - } - - @Test - public void testUpdateOnDetachedEntity() { - LOGGER.info("Test update for detached entity"); - //Load the Post entity, which will become detached - Post post = doInJPA(entityManager -> (Post) entityManager.createQuery(""" - select p - from Post p - join fetch p.details - join fetch p.comments - where p.id = :id - """, Post.class) - .setParameter("id", 1L) - .getSingleResult()); - - //Change the detached entity state - post.setTitle("Hibernate Training"); - - doInJPA(entityManager -> { - Session session = entityManager.unwrap(Session.class); - //The Post entity graph is detached - containsPost(entityManager, post, false); - - //The update will trigger an entity state flush and attach the entity graph - session.update(post); - - //The Post entity graph is attached - containsPost(entityManager, post, true); - }); - doInJPA(entityManager -> { - Post _post = (Post) entityManager.find(Post.class, 1L); - assertEquals("Hibernate Training", _post.getTitle()); - }); - } - @Entity(name = "Post") @Table(name = "post") public static class Post { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/CascadeLockUnidirectionalOneToManyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/CascadeLockUnidirectionalOneToManyTest.java index 22f0c4a30..88b972502 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/CascadeLockUnidirectionalOneToManyTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/CascadeLockUnidirectionalOneToManyTest.java @@ -3,17 +3,16 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import jakarta.persistence.*; import org.hibernate.LockMode; -import org.hibernate.LockOptions; import org.hibernate.Session; import org.hibernate.cfg.AvailableSettings; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.Collections; import java.util.Date; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * CascadeLockTest - Test to check CascadeType.LOCK @@ -49,11 +48,7 @@ public void testCascadeLockOnManagedEntityWithScope() throws InterruptedExceptio LOGGER.info("Test lock cascade for managed entity"); doInJPA(entityManager -> { Post post = entityManager.find(Post.class, 1L); - entityManager.unwrap(Session.class) - .buildLockRequest( - new LockOptions(LockMode.PESSIMISTIC_WRITE)) - .setScope(true) - .lock(post); + entityManager.unwrap(Session.class).lock(post, LockMode.PESSIMISTIC_WRITE); }); } @@ -100,7 +95,7 @@ public void testCascadeLockOnManagedEntityWithAssociationsInitialzied() throws I """ ).setParameter("id", 1L) .getSingleResult(); - session.buildLockRequest(new LockOptions(LockMode.PESSIMISTIC_WRITE)).setScope(true).lock(post); + entityManager.unwrap(Session.class).lock(post, LockMode.PESSIMISTIC_WRITE); }); } @@ -130,153 +125,6 @@ private void containsPost(EntityManager entityManager, Post post, boolean expect } } - @Test - public void testCascadeLockOnDetachedEntityWithoutScope() { - LOGGER.info("Test lock cascade for detached entity without scope"); - - //Load the Post entity, which will become detached - Post post = doInJPA(entityManager -> - (Post) entityManager.createQuery(""" - select p - from Post p - join fetch p.details - join fetch p.comments - where p.id = :id - """ - ).setParameter("id", 1L) - .getSingleResult()); - - //Change the detached entity state - post.setTitle("Hibernate Training"); - doInJPA(entityManager -> { - Session session = entityManager.unwrap(Session.class); - //The Post entity graph is detached - containsPost(entityManager, post, false); - - //The Lock request associates the entity graph and locks the requested entity - session.buildLockRequest(new LockOptions(LockMode.PESSIMISTIC_WRITE)).lock(post); - - //Hibernate doesn't know if the entity is dirty - assertEquals("Hibernate Training", post.getTitle()); - - //The Post entity graph is attached - containsPost(entityManager, post, true); - }); - doInJPA(entityManager -> { - //The detached Post entity changes have been lost - Post _post = (Post) entityManager.find(Post.class, 1L); - assertEquals("Hibernate Master Class", _post.getTitle()); - }); - } - - @Test - public void testCascadeLockOnDetachedEntityWithScope() { - LOGGER.info("Test lock cascade for detached entity with scope"); - - //Load the Post entity, which will become detached - Post post = doInJPA(entityManager -> { - return entityManager.createQuery(""" - select p - from Post p - join fetch p.details - join fetch p.comments - where p.id = :id - """, Post.class) - .setParameter("id", 1L) - .getSingleResult(); - }); - - doInJPA(entityManager -> { - LOGGER.info("Reattach and lock"); - entityManager.unwrap(Session.class) - .buildLockRequest( - new LockOptions(LockMode.PESSIMISTIC_WRITE)) - .setScope(true) - .lock(post); - - //The Post entity graph is attached - containsPost(entityManager, post, true); - }); - doInJPA(entityManager -> { - //The detached Post entity changes have been lost - Post _post = (Post) entityManager.find(Post.class, 1L); - assertEquals("Hibernate Master Class", _post.getTitle()); - }); - } - - @Test - public void testCascadeLockOnDetachedEntityUninitializedWithScope() { - LOGGER.info("Test lock cascade for detached entity with scope"); - - //Load the Post entity, which will become detached - Post post = doInJPA(entityManager -> (Post) entityManager.find(Post.class, 1L)); - - doInJPA(entityManager -> { - LOGGER.info("Reattach and lock entity with associations not initialized"); - entityManager.unwrap(Session.class) - .buildLockRequest( - new LockOptions(LockMode.PESSIMISTIC_WRITE)) - .setScope(true) - .lock(post); - - LOGGER.info("Check entities are reattached"); - //The Post entity graph is attached - containsPost(entityManager, post, true); - }); - } - - @Test - public void testCascadeLockOnDetachedChildEntityUninitializedWithScope() { - LOGGER.info("Test lock cascade for detached entity with scope"); - - //Load the Post entity, which will become detached - PostComment postComment = doInJPA( - entityManager -> (PostComment) entityManager.find(PostComment.class, 1L) - ); - - doInJPA(entityManager -> { - LOGGER.info("Reattach and lock entity with associations not initialized"); - entityManager.unwrap(Session.class) - .buildLockRequest( - new LockOptions(LockMode.PESSIMISTIC_WRITE)) - .lock(postComment); - }); - } - - @Test - public void testUpdateOnDetachedEntity() { - LOGGER.info("Test update for detached entity"); - //Load the Post entity, which will become detached - Post post = doInJPA(entityManager -> (Post) entityManager.createQuery(""" - select p - from Post p - join fetch p.details - join fetch p.comments - where p.id = :id - """, Post.class) - .setParameter("id", 1L) - .getSingleResult()); - - //Change the detached entity state - post.setTitle("Hibernate Training"); - - doInJPA(entityManager -> { - Session session = entityManager.unwrap(Session.class); - //The Post entity graph is detached - containsPost(entityManager, post, false); - - //The update will trigger an entity state flush and attach the entity graph - session.update(post); - - //The Post entity graph is attached - containsPost(entityManager, post, true); - }); - doInJPA(entityManager -> { - Post _post = (Post) entityManager.find(Post.class, 1L); - assertEquals("Hibernate Training", _post.getTitle()); - }); - } - @Entity(name = "Post") @Table(name = "post") public static class Post { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/DefaultOptimisticLockingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/DefaultOptimisticLockingTest.java index 25f06a0f3..e9e443ddd 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/DefaultOptimisticLockingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/DefaultOptimisticLockingTest.java @@ -6,12 +6,12 @@ import com.vladmihalcea.hpjp.util.providers.Database; import io.hypersistence.utils.hibernate.type.json.internal.JacksonUtil; import org.hibernate.StaleStateException; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/EntityFirstLevelCacheReuseTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/EntityFirstLevelCacheReuseTest.java index f6bc3f91d..438747a9d 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/EntityFirstLevelCacheReuseTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/EntityFirstLevelCacheReuseTest.java @@ -1,13 +1,13 @@ package com.vladmihalcea.hpjp.hibernate.concurrency; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * OptimisticLockingTest - Test to check optimistic checking diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/EntityOptimisticLockingOnBidirectionalChildOwningCollectionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/EntityOptimisticLockingOnBidirectionalChildOwningCollectionTest.java index 9ccc2108c..254141762 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/EntityOptimisticLockingOnBidirectionalChildOwningCollectionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/EntityOptimisticLockingOnBidirectionalChildOwningCollectionTest.java @@ -1,6 +1,6 @@ package com.vladmihalcea.hpjp.hibernate.concurrency; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/EntityOptimisticLockingOnBidirectionalParentOwningCollectionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/EntityOptimisticLockingOnBidirectionalParentOwningCollectionTest.java index 89a8febf3..b2ae45414 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/EntityOptimisticLockingOnBidirectionalParentOwningCollectionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/EntityOptimisticLockingOnBidirectionalParentOwningCollectionTest.java @@ -1,12 +1,12 @@ package com.vladmihalcea.hpjp.hibernate.concurrency; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; import java.util.List; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * EntityOptimisticLockingOnBidirectionalParentOwningCollectionTest - Test to check optimistic locking on bidirectional parent owning collections diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/EntityOptimisticLockingOnComponentCollectionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/EntityOptimisticLockingOnComponentCollectionTest.java index 4c377e91b..554108216 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/EntityOptimisticLockingOnComponentCollectionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/EntityOptimisticLockingOnComponentCollectionTest.java @@ -1,13 +1,13 @@ package com.vladmihalcea.hpjp.hibernate.concurrency; import org.hibernate.annotations.Parent; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; import java.util.List; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * EntityOptimisticLockingOnComponentCollectionTest - Test to check optimistic locking on component collections diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/EntityOptimisticLockingOnUnidirectionalCollectionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/EntityOptimisticLockingOnUnidirectionalCollectionTest.java index 7000e0d78..6c6df69c9 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/EntityOptimisticLockingOnUnidirectionalCollectionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/EntityOptimisticLockingOnUnidirectionalCollectionTest.java @@ -1,12 +1,12 @@ package com.vladmihalcea.hpjp.hibernate.concurrency; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; import java.util.List; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * EntityOptimisticLockingOnUnidirectionalCollectionTest - Test to check optimistic locking on unidirectional collections diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/EntityOptimisticLockingOverruleOnBidirectionalParentOwningCollectionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/EntityOptimisticLockingOverruleOnBidirectionalParentOwningCollectionTest.java index c07ff34c4..6b898b62e 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/EntityOptimisticLockingOverruleOnBidirectionalParentOwningCollectionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/EntityOptimisticLockingOverruleOnBidirectionalParentOwningCollectionTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.concurrency; import org.hibernate.annotations.OptimisticLock; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/FollowOnLockingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/FollowOnLockingTest.java index e2f2f88ef..6585228af 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/FollowOnLockingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/FollowOnLockingTest.java @@ -3,14 +3,12 @@ import com.vladmihalcea.hpjp.util.AbstractOracleIntegrationTest; import jakarta.persistence.*; import org.hibernate.LockMode; -import org.hibernate.LockOptions; -import org.junit.Before; -import org.junit.Ignore; -import org.junit.Test; +import org.hibernate.Timeouts; +import org.junit.jupiter.api.Test; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea @@ -24,9 +22,7 @@ protected Class[] entities() { }; } - @Before - public void init() { - super.init(); + public void afterInit() { doInJPA(entityManager -> { for (long i = 0; i < 5; i++) { Post post = new Post(); @@ -43,17 +39,17 @@ public void init() { public void testPessimisticWrite() { LOGGER.info("Test lock contention"); doInJPA(entityManager -> { - List pendingPosts = entityManager.createQuery( - "select p " + - "from Post p " + - "where p.status = :status", - Post.class) + List pendingPosts = entityManager.createQuery(""" + select p + from Post p + where p.status = :status + """, Post.class) .setParameter("status", PostStatus.PENDING) .setMaxResults(5) - //.setLockMode(LockModeType.PESSIMISTIC_WRITE) .unwrap(org.hibernate.query.Query.class) - .setLockOptions(new LockOptions(LockMode.PESSIMISTIC_WRITE).setTimeOut(LockOptions.SKIP_LOCKED)) - .list(); + .setLockMode(LockModeType.PESSIMISTIC_WRITE) + .setTimeout(Timeouts.SKIP_LOCKED) + .getResultList(); assertEquals(5, pendingPosts.size()); }); @@ -63,16 +59,16 @@ public void testPessimisticWrite() { public void testUpgradeSkipLocked() { LOGGER.info("Test lock contention"); doInJPA(entityManager -> { - List pendingPosts = entityManager.createQuery( - "select p " + - "from Post p " + - "where p.status = :status", - Post.class) + List pendingPosts = entityManager.createQuery(""" + select p + from Post p + where p.status = :status + """, Post.class) .setParameter("status", PostStatus.PENDING) .setFirstResult(2) .unwrap(org.hibernate.query.Query.class) - .setLockOptions(new LockOptions(LockMode.UPGRADE_SKIPLOCKED)) - .list(); + .setHibernateLockMode(LockMode.UPGRADE_SKIPLOCKED) + .getResultList(); assertEquals(3, pendingPosts.size()); }); @@ -82,40 +78,40 @@ public void testUpgradeSkipLocked() { public void testUpgradeSkipLockedOrderBy() { LOGGER.info("Test lock contention"); doInJPA(entityManager -> { - List pendingPosts = entityManager.createQuery( - "select p " + - "from Post p " + - "where p.status = :status " + - "order by p.id ", - Post.class) + List pendingPosts = entityManager.createQuery(""" + select p + from Post p + where p.status = :status + order by p.id + """, Post.class) .setParameter("status", PostStatus.PENDING) .setFirstResult(2) .unwrap(org.hibernate.query.Query.class) - .setLockOptions(new LockOptions(LockMode.UPGRADE_SKIPLOCKED)) - .list(); + .setHibernateLockMode(LockMode.UPGRADE_SKIPLOCKED) + .getResultList(); assertEquals(3, pendingPosts.size()); }); } @Test - @Ignore public void testUpgradeSkipLockedOrderByMaxResult() { LOGGER.info("Test lock contention"); doInJPA(entityManager -> { - List pendingPosts = entityManager.createQuery( - "select p " + - "from Post p " + - "where p.status = :status " + - "order by p.id ", - Post.class) + List pendingPosts = entityManager.createQuery(""" + select p + from Post p + where p.status = :status + order by p.id + """, Post.class) .setParameter("status", PostStatus.PENDING) .setMaxResults(5) + .setLockMode(LockModeType.PESSIMISTIC_WRITE) .unwrap(org.hibernate.query.Query.class) - .setLockOptions(new LockOptions(LockMode.UPGRADE_SKIPLOCKED)) - .list(); + .setTimeout(Timeouts.SKIP_LOCKED) + .getResultList(); - assertEquals(3, pendingPosts.size()); + assertEquals(5, pendingPosts.size()); }); } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/LockModeOptimisticForceIncrementTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/LockModeOptimisticForceIncrementTest.java index e01fb6fb3..3dc2940b1 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/LockModeOptimisticForceIncrementTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/LockModeOptimisticForceIncrementTest.java @@ -3,14 +3,15 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.annotations.Immutable; import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; import java.util.List; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; /** @@ -28,9 +29,7 @@ protected Class[] entities() { }; } - @Before - public void init() { - super.init(); + public void afterInit() { doInJPA(entityManager -> { Repository repository = new Repository("Hibernate-Master-Class"); entityManager.persist(repository); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/LockModeOptimisticRaceConditionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/LockModeOptimisticRaceConditionTest.java index 08e12f80d..2ff8205db 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/LockModeOptimisticRaceConditionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/LockModeOptimisticRaceConditionTest.java @@ -1,11 +1,12 @@ package com.vladmihalcea.hpjp.hibernate.concurrency; -import org.hibernate.*; -import org.hibernate.dialect.lock.OptimisticEntityLockException; -import org.junit.Test; - import jakarta.persistence.EntityManager; import jakarta.persistence.LockModeType; +import org.hibernate.Interceptor; +import org.hibernate.Transaction; +import org.hibernate.dialect.lock.OptimisticEntityLockException; +import org.junit.jupiter.api.Test; + import java.util.concurrent.CountDownLatch; import java.util.concurrent.atomic.AtomicBoolean; @@ -21,7 +22,7 @@ public class LockModeOptimisticRaceConditionTest extends AbstractLockModeOptimis @Override protected Interceptor interceptor() { - return new EmptyInterceptor() { + return new Interceptor() { @Override public void beforeTransactionCompletion(Transaction tx) { if(ready.get()) { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/LockModeOptimisticTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/LockModeOptimisticTest.java index 4fd35b300..4f4469df0 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/LockModeOptimisticTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/LockModeOptimisticTest.java @@ -1,13 +1,13 @@ package com.vladmihalcea.hpjp.hibernate.concurrency; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.LockModeType; import jakarta.persistence.OptimisticLockException; import jakarta.persistence.RollbackException; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; /** * LockModeOptimisticTest - Test to check LockMode.OPTIMISTIC diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/LockModePessimisticForceIncrementTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/LockModePessimisticForceIncrementTest.java index bd8a49088..c5dd60e09 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/LockModePessimisticForceIncrementTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/LockModePessimisticForceIncrementTest.java @@ -6,7 +6,8 @@ import org.hibernate.annotations.Immutable; import org.hibernate.cfg.AvailableSettings; import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; @@ -14,8 +15,8 @@ import java.util.Properties; import java.util.concurrent.CountDownLatch; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; /** * LockModePessimisticForceIncrementTest - Test to check LockMode.PESSIMISTIC_FORCE_INCREMENT @@ -35,9 +36,7 @@ protected Class[] entities() { }; } - @Before - public void init() { - super.init(); + public void afterInit() { doInJPA(entityManager -> { Repository repository = new Repository("Hibernate-Master-Class"); entityManager.persist(repository); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/LockModePessimisticReadWriteTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/LockModePessimisticReadWriteTest.java index 77221399b..5ab81460b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/LockModePessimisticReadWriteTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/LockModePessimisticReadWriteTest.java @@ -3,20 +3,17 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; import jakarta.persistence.*; -import org.hibernate.LockMode; -import org.hibernate.LockOptions; -import org.hibernate.Session; -import org.hibernate.StaleObjectStateException; +import org.hibernate.*; import org.hibernate.cfg.AvailableSettings; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Collections; import java.util.List; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; /** @@ -124,10 +121,7 @@ public void testPessimisticWriteAfterFetchWithDetachedForHibernate() { }); doInJPA(entityManager -> { LOGGER.info("Lock and reattach"); - entityManager.unwrap(Session.class) - .buildLockRequest( - new LockOptions(LockMode.PESSIMISTIC_WRITE)) - .lock(post); + entityManager.unwrap(Session.class).lock(post, LockMode.PESSIMISTIC_WRITE); post.setTitle("High-Performance Hibernate"); }); } @@ -137,11 +131,11 @@ public void testPessimisticReadDoesNotBlockPessimisticRead() throws InterruptedE LOGGER.info("Test PESSIMISTIC_READ doesn't block PESSIMISTIC_READ"); testPessimisticLocking( (session, post) -> { - session.buildLockRequest(new LockOptions(LockMode.PESSIMISTIC_READ)).lock(post); + session.lock(post, LockMode.PESSIMISTIC_WRITE);; LOGGER.info("PESSIMISTIC_READ acquired"); }, (session, post) -> { - session.buildLockRequest(new LockOptions(LockMode.PESSIMISTIC_READ)).lock(post); + session.lock(post, LockMode.PESSIMISTIC_WRITE); LOGGER.info("PESSIMISTIC_READ acquired"); } ); @@ -152,7 +146,7 @@ public void testPessimisticReadBlocksUpdate() throws InterruptedException { LOGGER.info("Test PESSIMISTIC_READ blocks UPDATE"); testPessimisticLocking( (session, post) -> { - session.buildLockRequest(new LockOptions(LockMode.PESSIMISTIC_READ)).lock(post); + session.lock(post, LockMode.PESSIMISTIC_WRITE); LOGGER.info("PESSIMISTIC_READ acquired"); }, (session, post) -> { @@ -168,11 +162,12 @@ public void testPessimisticReadWithPessimisticWriteNoWait() throws InterruptedEx LOGGER.info("Test PESSIMISTIC_READ blocks PESSIMISTIC_WRITE, NO WAIT fails fast"); testPessimisticLocking( (session, post) -> { - session.buildLockRequest(new LockOptions(LockMode.PESSIMISTIC_READ)).lock(post); + session.lock(post, LockMode.PESSIMISTIC_WRITE); LOGGER.info("PESSIMISTIC_READ acquired"); }, (session, post) -> { - session.buildLockRequest(new LockOptions(LockMode.PESSIMISTIC_WRITE)).setTimeOut(Session.LockRequest.PESSIMISTIC_NO_WAIT).lock(post); + session.lock(post, new LockOptions(LockMode.PESSIMISTIC_WRITE, Timeouts.NO_WAIT)); + LOGGER.info("PESSIMISTIC_WRITE acquired"); } ); @@ -183,11 +178,11 @@ public void testPessimisticWriteBlocksPessimisticRead() throws InterruptedExcept LOGGER.info("Test PESSIMISTIC_WRITE blocks PESSIMISTIC_READ"); testPessimisticLocking( (session, post) -> { - session.buildLockRequest(new LockOptions(LockMode.PESSIMISTIC_WRITE)).lock(post); + session.lock(post, LockMode.PESSIMISTIC_WRITE); LOGGER.info("PESSIMISTIC_WRITE acquired"); }, (session, post) -> { - session.buildLockRequest(new LockOptions(LockMode.PESSIMISTIC_READ)).lock(post); + session.lock(post, LockMode.PESSIMISTIC_WRITE); LOGGER.info("PESSIMISTIC_READ acquired"); } ); @@ -198,12 +193,10 @@ public void testPessimisticWriteBlocksPessimisticWrite() throws InterruptedExcep LOGGER.info("Test PESSIMISTIC_WRITE blocks PESSIMISTIC_WRITE"); testPessimisticLocking( (session, post) -> { - session.buildLockRequest(new LockOptions(LockMode.PESSIMISTIC_WRITE)).lock(post); - LOGGER.info("PESSIMISTIC_WRITE acquired"); + session.lock(post, LockMode.PESSIMISTIC_WRITE); LOGGER.info("PESSIMISTIC_WRITE acquired"); }, (session, post) -> { - session.buildLockRequest(new LockOptions(LockMode.PESSIMISTIC_WRITE)).lock(post); - LOGGER.info("PESSIMISTIC_WRITE acquired"); + session.lock(post, LockMode.PESSIMISTIC_WRITE); LOGGER.info("PESSIMISTIC_WRITE acquired"); } ); } @@ -249,11 +242,7 @@ public void testPessimisticTimeout() throws InterruptedException { doInJPA(entityManager -> { Post post = entityManager.getReference(Post.class, 1L); - entityManager.unwrap(Session.class) - .buildLockRequest( - new LockOptions(LockMode.PESSIMISTIC_WRITE) - .setTimeOut((int) TimeUnit.SECONDS.toMillis(3))) - .lock(post); + entityManager.unwrap(Session.class).lock(post, new LockOptions(LockMode.PESSIMISTIC_WRITE, Timeout.seconds(3))); }); } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/NoWaitTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/NoWaitTest.java index 9fb0f7c36..7b79052ee 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/NoWaitTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/NoWaitTest.java @@ -6,11 +6,11 @@ import jakarta.persistence.*; import org.hibernate.LockOptions; import org.hibernate.jpa.SpecHints; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Map; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/OptimisticLockingAggregateRootVersionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/OptimisticLockingAggregateRootVersionTest.java index a21e5171a..75201ba8c 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/OptimisticLockingAggregateRootVersionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/OptimisticLockingAggregateRootVersionTest.java @@ -7,6 +7,7 @@ import org.hibernate.annotations.OnDelete; import org.hibernate.annotations.OnDeleteAction; import org.hibernate.boot.Metadata; +import org.hibernate.boot.spi.BootstrapContext; import org.hibernate.engine.spi.EntityEntry; import org.hibernate.engine.spi.SessionFactoryImplementor; import org.hibernate.engine.spi.SessionImplementor; @@ -16,7 +17,7 @@ import org.hibernate.integrator.spi.Integrator; import org.hibernate.persister.entity.EntityPersister; import org.hibernate.service.spi.SessionFactoryServiceRegistry; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -30,13 +31,8 @@ public static class RootAwareEventListenerIntegrator implements org.hibernate.in public static final RootAwareEventListenerIntegrator INSTANCE = new RootAwareEventListenerIntegrator(); @Override - public void integrate( - Metadata metadata, - SessionFactoryImplementor sessionFactory, - SessionFactoryServiceRegistry serviceRegistry) { - - final EventListenerRegistry eventListenerRegistry = - serviceRegistry.getService( EventListenerRegistry.class ); + public void integrate(Metadata metadata, BootstrapContext bootstrapContext, SessionFactoryImplementor sessionFactory) { + final EventListenerRegistry eventListenerRegistry = sessionFactory.getServiceRegistry().getService(EventListenerRegistry.class); eventListenerRegistry.appendListeners(EventType.PERSIST, RootAwareInsertEventListener.INSTANCE); eventListenerRegistry.appendListeners(EventType.FLUSH_ENTITY, RootAwareUpdateAndDeleteEventListener.INSTANCE); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/OptimisticLockingBidirectionalChildUpdatesRootVersionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/OptimisticLockingBidirectionalChildUpdatesRootVersionTest.java index e3db296e0..550f02865 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/OptimisticLockingBidirectionalChildUpdatesRootVersionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/OptimisticLockingBidirectionalChildUpdatesRootVersionTest.java @@ -18,6 +18,7 @@ import org.hibernate.HibernateException; import org.hibernate.LockMode; import org.hibernate.boot.Metadata; +import org.hibernate.boot.spi.BootstrapContext; import org.hibernate.engine.spi.EntityEntry; import org.hibernate.engine.spi.SessionFactoryImplementor; import org.hibernate.engine.spi.SessionImplementor; @@ -28,7 +29,7 @@ import org.hibernate.persister.entity.EntityPersister; import org.hibernate.service.spi.SessionFactoryServiceRegistry; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -45,13 +46,8 @@ public static class RootAwareEventListenerIntegrator implements Integrator { public static final RootAwareEventListenerIntegrator INSTANCE = new RootAwareEventListenerIntegrator(); @Override - public void integrate( - Metadata metadata, - SessionFactoryImplementor sessionFactory, - SessionFactoryServiceRegistry serviceRegistry) { - - final EventListenerRegistry eventListenerRegistry = - serviceRegistry.getService( EventListenerRegistry.class ); + public void integrate(Metadata metadata, BootstrapContext bootstrapContext, SessionFactoryImplementor sessionFactory) { + final EventListenerRegistry eventListenerRegistry = sessionFactory.getServiceRegistry().getService(EventListenerRegistry.class); eventListenerRegistry.appendListeners( EventType.PERSIST, RootAwareInsertEventListener.INSTANCE); eventListenerRegistry.appendListeners( EventType.FLUSH_ENTITY, RootAwareUpdateAndDeleteEventListener.INSTANCE); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/OptimisticLockingContractTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/OptimisticLockingContractTest.java index 1390102cd..e9f5f045b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/OptimisticLockingContractTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/OptimisticLockingContractTest.java @@ -7,6 +7,7 @@ import org.hibernate.annotations.OnDelete; import org.hibernate.annotations.OnDeleteAction; import org.hibernate.boot.Metadata; +import org.hibernate.boot.spi.BootstrapContext; import org.hibernate.engine.spi.EntityEntry; import org.hibernate.engine.spi.SessionFactoryImplementor; import org.hibernate.engine.spi.SessionImplementor; @@ -16,7 +17,7 @@ import org.hibernate.integrator.spi.Integrator; import org.hibernate.persister.entity.EntityPersister; import org.hibernate.service.spi.SessionFactoryServiceRegistry; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -30,13 +31,8 @@ public static class RootAwareEventListenerIntegrator implements Integrator { public static final RootAwareEventListenerIntegrator INSTANCE = new RootAwareEventListenerIntegrator(); @Override - public void integrate( - Metadata metadata, - SessionFactoryImplementor sessionFactory, - SessionFactoryServiceRegistry serviceRegistry) { - - final EventListenerRegistry eventListenerRegistry = - serviceRegistry.getService( EventListenerRegistry.class ); + public void integrate(Metadata metadata, BootstrapContext bootstrapContext, SessionFactoryImplementor sessionFactory) { + final EventListenerRegistry eventListenerRegistry = sessionFactory.getServiceRegistry().getService(EventListenerRegistry.class); eventListenerRegistry.appendListeners(EventType.PERSIST, RootAwareInsertEventListener.INSTANCE); eventListenerRegistry.appendListeners(EventType.FLUSH_ENTITY, RootAwareUpdateAndDeleteEventListener.INSTANCE); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/OptimisticLockingOneRootDirtyVersioningSelectBeforeUpdateTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/OptimisticLockingOneRootDirtyVersioningSelectBeforeUpdateTest.java deleted file mode 100644 index bb90c4a11..000000000 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/OptimisticLockingOneRootDirtyVersioningSelectBeforeUpdateTest.java +++ /dev/null @@ -1,108 +0,0 @@ -package com.vladmihalcea.hpjp.hibernate.concurrency; - -import com.vladmihalcea.hpjp.util.AbstractTest; -import org.hibernate.Session; -import org.hibernate.annotations.DynamicUpdate; -import org.hibernate.annotations.OptimisticLockType; -import org.hibernate.annotations.OptimisticLocking; -import org.hibernate.annotations.SelectBeforeUpdate; -import org.junit.Test; - -import jakarta.persistence.Entity; -import jakarta.persistence.Id; -import jakarta.persistence.Table; - -/** - * OptimisticLockingOneRootDirtyVersioningTest - Test to check optimistic checking on a single entity being updated by many threads - * using the dirty properties instead of a synthetic version column - * - * @author Vlad Mihalcea - */ -public class OptimisticLockingOneRootDirtyVersioningSelectBeforeUpdateTest extends AbstractTest { - - @Override - protected Class[] entities() { - return new Class[]{ - Post.class - }; - } - - @Test - public void testVersionlessOptimisticLockingWhenReattaching() { - - doInJPA(entityManager -> { - Post post = new Post(); - post.setId(1L); - post.setTitle("JDBC"); - entityManager.persist(post); - return post; - }); - - Post detachedPost = doInJPA(entityManager -> { - LOGGER.info("Alice loads the Post entity"); - return entityManager.find(Post.class, 1L); - }); - - executeSync(() -> { - doInJPA(entityManager -> { - LOGGER.info("Bob loads the Post entity and modifies it"); - Post post = entityManager.find(Post.class, 1L); - post.setTitle("Hibernate"); - }); - }); - - doInJPA(entityManager -> { - LOGGER.info("Alice updates the Post entity"); - detachedPost.setTitle("JPA"); - entityManager.unwrap(Session.class).update(detachedPost); - }); - } - - @Entity(name = "Post") @Table(name = "post") - @OptimisticLocking(type = OptimisticLockType.DIRTY) - @SelectBeforeUpdate - @DynamicUpdate - public static class Post { - - @Id - private Long id; - - private String title; - - private long views; - - private int likes; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public long getViews() { - return views; - } - - public int getLikes() { - return likes; - } - - public int incrementLikes() { - return ++likes; - } - - public void setViews(long views) { - this.views = views; - } - } -} diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/OptimisticLockingOneRootDirtyVersioningTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/OptimisticLockingOneRootDirtyVersioningTest.java index d4b1079d3..af8947a47 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/OptimisticLockingOneRootDirtyVersioningTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/OptimisticLockingOneRootDirtyVersioningTest.java @@ -6,7 +6,7 @@ import org.hibernate.annotations.DynamicUpdate; import org.hibernate.annotations.OptimisticLockType; import org.hibernate.annotations.OptimisticLocking; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Entity; import jakarta.persistence.Id; @@ -141,37 +141,6 @@ public void testVersionlessOptimisticLockingWhenMerging() { entityManager.merge(detachedPost); }); } - - @Test - public void testVersionlessOptimisticLockingWhenReattaching() { - - doInJPA(entityManager -> { - Post post = new Post(); - post.setId(1L); - post.setTitle("JDBC"); - entityManager.persist(post); - return post; - }); - - Post detachedPost = doInJPA(entityManager -> { - LOGGER.info("Alice loads the Post entity"); - return entityManager.find(Post.class, 1L); - }); - - executeSync(() -> { - doInJPA(entityManager -> { - LOGGER.info("Bob loads the Post entity and modifies it"); - Post post = entityManager.find(Post.class, 1L); - post.setTitle("Hibernate"); - }); - }); - - doInJPA(entityManager -> { - LOGGER.info("Alice updates the Post entity"); - detachedPost.setTitle("JPA"); - entityManager.unwrap(Session.class).update(detachedPost); - }); - } @Entity(name = "Post") @Table(name = "post") @OptimisticLocking(type = OptimisticLockType.DIRTY) diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/OptimisticLockingOneRootEntityMultipleVersionsTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/OptimisticLockingOneRootEntityMultipleVersionsTest.java index d8c4179b0..bd5bf7ab2 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/OptimisticLockingOneRootEntityMultipleVersionsTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/OptimisticLockingOneRootEntityMultipleVersionsTest.java @@ -5,7 +5,9 @@ import org.hamcrest.core.IsInstanceOf; import org.junit.Before; import org.junit.Rule; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import org.junit.internal.matchers.ThrowableCauseMatcher; import org.junit.rules.ExpectedException; @@ -19,16 +21,15 @@ /** - * EntityOptimisticLockingHighUpdateRateSingleEntityTest - Test to check optimistic checking on a single entity being updated by many threads - * * @author Vlad Mihalcea */ +@Disabled public class OptimisticLockingOneRootEntityMultipleVersionsTest extends AbstractTest { private ExecutorService executorService = Executors.newFixedThreadPool(10); private Post originalPost; - @Before + @BeforeEach public void addPost() { originalPost = doInJPA(entityManager -> { Post post = new Post(); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/OptimisticLockingOneRootOneVersionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/OptimisticLockingOneRootOneVersionTest.java index e4b4b5503..11da0e804 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/OptimisticLockingOneRootOneVersionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/OptimisticLockingOneRootOneVersionTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.StaleObjectStateException; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.concurrent.CountDownLatch; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/OptimisticLockingRepeatableReadTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/OptimisticLockingRepeatableReadTest.java index cb721483e..44ede03b9 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/OptimisticLockingRepeatableReadTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/OptimisticLockingRepeatableReadTest.java @@ -5,7 +5,7 @@ import com.zaxxer.hikari.HikariDataSource; import org.hibernate.Session; import org.hibernate.StaleObjectStateException; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Entity; import jakarta.persistence.Id; @@ -15,7 +15,7 @@ import java.sql.Connection; import java.util.concurrent.CountDownLatch; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/SkipLockJobQueueTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/SkipLockJobQueueTest.java index 34142de82..72f4e1a4d 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/SkipLockJobQueueTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/SkipLockJobQueueTest.java @@ -5,14 +5,14 @@ import org.hibernate.LockMode; import org.hibernate.LockOptions; import org.hibernate.query.Query; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.List; import static java.util.stream.Collectors.toList; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/VersionWrapperOptimisticLockingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/VersionWrapperOptimisticLockingTest.java index b4fdd34c7..4f7985e5a 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/VersionWrapperOptimisticLockingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/VersionWrapperOptimisticLockingTest.java @@ -2,12 +2,12 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.StaleStateException; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/acid/ACIDRaceConditionIsolationLevelTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/acid/ACIDRaceConditionIsolationLevelTest.java index 39bdba2ee..4e7309c75 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/acid/ACIDRaceConditionIsolationLevelTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/acid/ACIDRaceConditionIsolationLevelTest.java @@ -4,7 +4,7 @@ import com.vladmihalcea.hpjp.util.providers.Database; import com.vladmihalcea.hpjp.util.transaction.ConnectionCallable; import com.vladmihalcea.hpjp.util.transaction.ConnectionVoidCallable; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.Connection; import java.sql.PreparedStatement; @@ -12,7 +12,7 @@ import java.sql.SQLException; import java.util.concurrent.CountDownLatch; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/acid/ACIDRaceConditionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/acid/ACIDRaceConditionTest.java index 735a2aaa2..51c4c8d63 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/acid/ACIDRaceConditionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/acid/ACIDRaceConditionTest.java @@ -4,7 +4,7 @@ import com.vladmihalcea.hpjp.util.providers.Database; import com.vladmihalcea.hpjp.util.transaction.ConnectionCallable; import com.vladmihalcea.hpjp.util.transaction.ConnectionVoidCallable; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.Connection; import java.sql.PreparedStatement; @@ -12,7 +12,7 @@ import java.sql.SQLException; import java.util.concurrent.CountDownLatch; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/acid/check/ACIDRaceConditionPositiveBalanceCheckFirstOperationTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/acid/check/ACIDRaceConditionPositiveBalanceCheckFirstOperationTest.java index 90e41c517..3b245893a 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/acid/check/ACIDRaceConditionPositiveBalanceCheckFirstOperationTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/acid/check/ACIDRaceConditionPositiveBalanceCheckFirstOperationTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.hibernate.concurrency.acid.Account; import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Entity; import jakarta.persistence.Id; @@ -12,7 +12,7 @@ import java.sql.ResultSet; import java.util.concurrent.CountDownLatch; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/acid/check/ACIDRaceConditionPositiveBalanceCheckLastOperationTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/acid/check/ACIDRaceConditionPositiveBalanceCheckLastOperationTest.java index 5b4d6efa7..fc288e0bc 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/acid/check/ACIDRaceConditionPositiveBalanceCheckLastOperationTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/acid/check/ACIDRaceConditionPositiveBalanceCheckLastOperationTest.java @@ -3,13 +3,13 @@ import com.vladmihalcea.hpjp.hibernate.concurrency.acid.Account; import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.concurrent.CountDownLatch; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/deadlock/DeadLockTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/deadlock/DeadLockTest.java index 1ee82163c..60f9adbaf 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/deadlock/DeadLockTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/deadlock/DeadLockTest.java @@ -2,15 +2,15 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.testing.util.ExceptionUtil; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.concurrent.CountDownLatch; import java.util.concurrent.Future; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/deadlock/SQLServerDeadLockTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/deadlock/SQLServerDeadLockTest.java index db9e22894..06cca4f09 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/deadlock/SQLServerDeadLockTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/deadlock/SQLServerDeadLockTest.java @@ -8,7 +8,7 @@ import org.hibernate.Session; import org.hibernate.annotations.DynamicUpdate; import org.hibernate.testing.util.ExceptionUtil; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Date; import java.util.List; @@ -55,12 +55,11 @@ public void afterInit() { } @Override - public void destroy() { + public void afterDestroy() { if(!ENABLE_LONG_RUNNING_TESTS) { return; } executeStatement("ALTER DATABASE [high_performance_java_persistence] SET READ_COMMITTED_SNAPSHOT OFF"); - super.destroy(); } /** diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/deadlock/fk/MySQLFKNoParentLockRRTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/deadlock/fk/MySQLFKNoParentLockRRTest.java index c30f7e354..8077b581c 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/deadlock/fk/MySQLFKNoParentLockRRTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/deadlock/fk/MySQLFKNoParentLockRRTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.sql.Connection; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/deadlock/fk/OracleNoFKNoParentLockSerializableTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/deadlock/fk/OracleNoFKNoParentLockSerializableTest.java index 4f9752abb..1ad145945 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/deadlock/fk/OracleNoFKNoParentLockSerializableTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/deadlock/fk/OracleNoFKNoParentLockSerializableTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.sql.Connection; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/deadlock/fk/PostgreSQLNoFKNoParentLockRRTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/deadlock/fk/PostgreSQLNoFKNoParentLockRRTest.java index 000e9355d..f8e097ec2 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/deadlock/fk/PostgreSQLNoFKNoParentLockRRTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/deadlock/fk/PostgreSQLNoFKNoParentLockRRTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.sql.Connection; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/deadlock/fk/SQLServerFKParentLockRCSITest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/deadlock/fk/SQLServerFKParentLockRCSITest.java index 5f6488a30..ea4d80e8e 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/deadlock/fk/SQLServerFKParentLockRCSITest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/deadlock/fk/SQLServerFKParentLockRCSITest.java @@ -4,14 +4,14 @@ import com.vladmihalcea.hpjp.util.exception.ExceptionUtil; import com.vladmihalcea.hpjp.util.providers.Database; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.sql.Connection; import java.util.List; import java.util.concurrent.*; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/deadlock/fk/SQLServerNoFKParentLockRCSIDynamicUpdateTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/deadlock/fk/SQLServerNoFKParentLockRCSIDynamicUpdateTest.java index 699d5ac42..1dcbbb162 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/deadlock/fk/SQLServerNoFKParentLockRCSIDynamicUpdateTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/deadlock/fk/SQLServerNoFKParentLockRCSIDynamicUpdateTest.java @@ -5,14 +5,14 @@ import com.vladmihalcea.hpjp.util.providers.Database; import org.hibernate.Session; import org.hibernate.annotations.DynamicUpdate; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.sql.Connection; import java.util.concurrent.CountDownLatch; import java.util.concurrent.Future; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/latch/CountDownLatchTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/latch/CountDownLatchTest.java index 5e17df5f0..871097118 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/latch/CountDownLatchTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/latch/CountDownLatchTest.java @@ -5,7 +5,7 @@ import com.vladmihalcea.hpjp.util.providers.Database; import com.vladmihalcea.hpjp.util.transaction.ConnectionCallable; import com.vladmihalcea.hpjp.util.transaction.ConnectionVoidCallable; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -17,7 +17,7 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/linearizable/JavaLinearizableTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/linearizable/JavaLinearizableTest.java index 5ce419df0..b06113c02 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/linearizable/JavaLinearizableTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/linearizable/JavaLinearizableTest.java @@ -1,14 +1,14 @@ package com.vladmihalcea.hpjp.hibernate.concurrency.linearizable; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.List; import java.util.concurrent.*; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/updates/PostgreSQLRowLevelLockingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/updates/PostgreSQLRowLevelLockingTest.java index eb640332c..f8b8cb8ac 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/updates/PostgreSQLRowLevelLockingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/updates/PostgreSQLRowLevelLockingTest.java @@ -4,7 +4,7 @@ import com.vladmihalcea.hpjp.util.exception.ExceptionUtil; import com.vladmihalcea.hpjp.util.providers.Database; import org.hibernate.annotations.DynamicUpdate; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Column; import jakarta.persistence.Entity; @@ -13,8 +13,8 @@ import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea @@ -93,24 +93,23 @@ public void testTimeout() { entityManager.flush(); executeSync(() -> { - doInJPA(_entityManager -> { - executeStatement(_entityManager, "SET lock_timeout TO '1s'"); - - Book _post = _entityManager.find(Book.class, 1L); - _post.setTitle("High-Performance Java Persistence, 2nd edition"); - - LOGGER.info("Bob updates the book record"); - try { - _entityManager.flush(); - } catch (Exception expected) { - assertTrue( - ExceptionUtil.rootCause(expected) - .getMessage() - .contains("canceling statement due to lock timeout") - ); - LOGGER.error("Lock acquisition failure: ", expected); - } - }); + try { + doInJPA(_entityManager -> { + executeStatement(_entityManager, "SET lock_timeout TO '1s'"); + + Book _post = _entityManager.find(Book.class, 1L); + _post.setTitle("High-Performance Java Persistence, 2nd edition"); + + LOGGER.info("Bob updates the book record"); + }); + } catch (Exception expected) { + assertTrue( + ExceptionUtil.rootCause(expected) + .getMessage() + .contains("canceling statement due to lock timeout") + ); + LOGGER.error("Lock acquisition failure: ", expected); + } }); }); } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/updates/YugabyteDBColumnLevelLockingDefaultUpdateTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/updates/YugabyteDBColumnLevelLockingDefaultUpdateTest.java index 3914fa29f..bbf00ecdc 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/updates/YugabyteDBColumnLevelLockingDefaultUpdateTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/updates/YugabyteDBColumnLevelLockingDefaultUpdateTest.java @@ -2,7 +2,8 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import jakarta.persistence.Column; import jakarta.persistence.Entity; @@ -12,6 +13,7 @@ /** * @author Vlad Mihalcea */ +@Disabled public class YugabyteDBColumnLevelLockingDefaultUpdateTest extends AbstractTest { @Override diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/updates/YugabyteDBColumnLevelLockingReadCommittedTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/updates/YugabyteDBColumnLevelLockingReadCommittedTest.java index 78119be45..5c0712354 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/updates/YugabyteDBColumnLevelLockingReadCommittedTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/updates/YugabyteDBColumnLevelLockingReadCommittedTest.java @@ -5,16 +5,19 @@ import com.vladmihalcea.hpjp.util.providers.Database; import org.hibernate.Session; import org.hibernate.annotations.DynamicUpdate; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea */ +@Disabled public class YugabyteDBColumnLevelLockingReadCommittedTest extends AbstractTest { @Override @@ -50,6 +53,7 @@ protected void afterInit() { } @Test + @Disabled public void test() { if(!ENABLE_LONG_RUNNING_TESTS) { return; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/updates/YugabyteDBColumnLevelLockingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/updates/YugabyteDBColumnLevelLockingTest.java index 320ff8ce4..13f1e967b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/updates/YugabyteDBColumnLevelLockingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/updates/YugabyteDBColumnLevelLockingTest.java @@ -4,16 +4,18 @@ import com.vladmihalcea.hpjp.util.exception.ExceptionUtil; import com.vladmihalcea.hpjp.util.providers.Database; import org.hibernate.annotations.DynamicUpdate; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea */ +@Disabled public class YugabyteDBColumnLevelLockingTest extends AbstractTest { @Override diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/upsert/SQLServerUpsertAlternativeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/upsert/SQLServerUpsertAlternativeTest.java index 30fed4cd4..85943fd6c 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/upsert/SQLServerUpsertAlternativeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/upsert/SQLServerUpsertAlternativeTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractSQLServerIntegrationTest; import org.hibernate.annotations.NaturalId; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Entity; import jakarta.persistence.Id; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/version/DefaultMinValueShortVersionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/version/DefaultMinValueShortVersionTest.java index 15a92931d..1bdfd30e8 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/version/DefaultMinValueShortVersionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/version/DefaultMinValueShortVersionTest.java @@ -2,14 +2,14 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; import jakarta.persistence.Version; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/version/DefaultMinValueVersionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/version/DefaultMinValueVersionTest.java index 4b1114d42..2a755862e 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/version/DefaultMinValueVersionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/version/DefaultMinValueVersionTest.java @@ -5,10 +5,10 @@ import jakarta.persistence.Id; import jakarta.persistence.Table; import jakarta.persistence.Version; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertSame; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertSame; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/version/MinValueIntegerVersionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/version/MinValueIntegerVersionTest.java index f614b4c85..b1fdd3b96 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/version/MinValueIntegerVersionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/version/MinValueIntegerVersionTest.java @@ -5,9 +5,9 @@ import jakarta.persistence.Id; import jakarta.persistence.Table; import jakarta.persistence.Version; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/version/MinValueVersionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/version/MinValueVersionTest.java index 8c378ea8b..0faa40e3b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/version/MinValueVersionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/version/MinValueVersionTest.java @@ -5,9 +5,9 @@ import jakarta.persistence.Id; import jakarta.persistence.Table; import jakarta.persistence.Version; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/version/TimestampVersionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/version/TimestampVersionTest.java index c04dcd1e9..b0c3fe9b9 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/version/TimestampVersionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/version/TimestampVersionTest.java @@ -5,12 +5,12 @@ import jakarta.persistence.Id; import jakarta.persistence.Table; import jakarta.persistence.Version; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.LocalDateTime; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/version/VersionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/version/VersionTest.java index 6690a5541..9a1ce754b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/version/VersionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/version/VersionTest.java @@ -6,14 +6,14 @@ import com.vladmihalcea.hpjp.util.exception.ExceptionUtil; import org.hibernate.Session; import org.hibernate.StaleStateException; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.concurrent.atomic.AtomicBoolean; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea @@ -112,29 +112,6 @@ public void testChangeVersionAfterDetachUsingMerge() { assertTrue(lostUpdatePrevented.get()); } - @Test - public void testChangeVersionAfterDetachUsingUpdate() { - AtomicBoolean lostUpdatePrevented = new AtomicBoolean(); - doInJPA(entityManager -> { - LOGGER.info("Test optimistic locking for detached entity when using update"); - Product product = entityManager.find(Product.class, 1L); - entityManager.detach(product); - - product.setQuantity(12); - product.setVersion(0); - - entityManager.unwrap(Session.class).update(product); - try { - entityManager.flush(); - } catch (Exception expected) { - assertTrue(expected instanceof OptimisticLockException); - lostUpdatePrevented.set(true); - } - }); - assertTrue(lostUpdatePrevented.get()); - } - - @Test public void testMerge() { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/AbstractConnectionProviderTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/AbstractConnectionProviderTest.java index 02cad1945..6153cbb0d 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/AbstractConnectionProviderTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/AbstractConnectionProviderTest.java @@ -4,12 +4,12 @@ import com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider; import org.hibernate.engine.jdbc.connections.spi.ConnectionProvider; import org.hibernate.engine.spi.SessionFactoryImplementor; -import org.junit.Test; +import org.junit.jupiter.api.Test; import javax.sql.DataSource; import java.util.Properties; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertTrue; public abstract class AbstractConnectionProviderTest extends AbstractTest { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/DriverManagerConnectionProviderTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/DriverManagerConnectionProviderTest.java index 774cf68bb..f010cbbdf 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/DriverManagerConnectionProviderTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/DriverManagerConnectionProviderTest.java @@ -4,7 +4,7 @@ import com.vladmihalcea.hpjp.util.providers.SQLServerDataSourceProvider; import org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl; import org.hibernate.engine.jdbc.connections.spi.ConnectionProvider; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Properties; import java.util.concurrent.atomic.AtomicLong; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/FlexyPoolTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/FlexyPoolTest.java index 7e5900ae1..d820ed252 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/FlexyPoolTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/FlexyPoolTest.java @@ -5,14 +5,16 @@ import jakarta.persistence.PersistenceContext; import org.junit.After; import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.transaction.support.TransactionCallback; import org.springframework.transaction.support.TransactionTemplate; @@ -25,7 +27,7 @@ import static com.vladmihalcea.hpjp.hibernate.connection.jta.FlexyPoolEntities.Post; import static com.vladmihalcea.hpjp.util.AbstractTest.ENABLE_LONG_RUNNING_TESTS; -@RunWith(SpringJUnit4ClassRunner.class) +@ExtendWith(SpringExtension.class) @ContextConfiguration(classes = FlexyPoolTestConfiguration.class) @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_CLASS) public class FlexyPoolTest { @@ -47,13 +49,13 @@ public class FlexyPoolTest { private ExecutorService executorService = Executors.newFixedThreadPool(threadCount); - @Before + @BeforeEach public void init() { FlexyPoolDataSource flexyPoolDataSource = (FlexyPoolDataSource) dataSource; flexyPoolDataSource.start(); } - @After + @AfterEach public void destroy() { executorService.shutdownNow(); FlexyPoolDataSource flexyPoolDataSource = (FlexyPoolDataSource) dataSource; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/HikariConnectionThreadBoundTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/HikariConnectionThreadBoundTest.java index c024df450..a4d549f36 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/HikariConnectionThreadBoundTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/HikariConnectionThreadBoundTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.Connection; import java.util.concurrent.ExecutionException; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/ResourceLocalDelayConnectionAcquisitionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/ResourceLocalDelayConnectionAcquisitionTest.java index 9b0bcc4ac..359b27497 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/ResourceLocalDelayConnectionAcquisitionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/ResourceLocalDelayConnectionAcquisitionTest.java @@ -7,8 +7,8 @@ import com.zaxxer.hikari.HikariConfig; import com.zaxxer.hikari.HikariDataSource; import jakarta.persistence.*; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import org.w3c.dom.Document; import org.w3c.dom.Node; import org.w3c.dom.NodeList; @@ -86,7 +86,7 @@ protected Properties properties() { } @Test - @Ignore + @Disabled public void testConnectionLeaseTime() { long warmUpThreshold = System.nanoTime() + warmUpDuration; LOGGER.info("Warming up"); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/SessionDoWorkTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/SessionDoWorkTest.java index 8a339b047..b9da0fac5 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/SessionDoWorkTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/SessionDoWorkTest.java @@ -7,7 +7,7 @@ import jakarta.persistence.Id; import jakarta.persistence.Table; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.net.SocketTimeoutException; import java.sql.Connection; @@ -15,8 +15,8 @@ import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/UserSuppliedConnectionProviderTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/UserSuppliedConnectionProviderTest.java index 98dd507b5..fc61e3a8c 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/UserSuppliedConnectionProviderTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/UserSuppliedConnectionProviderTest.java @@ -5,15 +5,15 @@ import jakarta.persistence.Id; import jakarta.persistence.Table; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.Connection; import java.sql.SQLException; import java.util.Properties; import java.util.concurrent.atomic.AtomicLong; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; public class UserSuppliedConnectionProviderTest extends AbstractTest { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/jta/HandlingModeJtaConnectionReleaseTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/jta/HandlingModeJtaConnectionReleaseTest.java index 116994b49..7770f1656 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/jta/HandlingModeJtaConnectionReleaseTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/jta/HandlingModeJtaConnectionReleaseTest.java @@ -3,23 +3,23 @@ import jakarta.persistence.EntityManager; import jakarta.persistence.PersistenceContext; import org.hibernate.Session; -import org.junit.Ignore; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.transaction.support.TransactionCallback; import org.springframework.transaction.support.TransactionTemplate; import java.util.concurrent.TimeUnit; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNotNull; -@RunWith(SpringJUnit4ClassRunner.class) +@ExtendWith(SpringExtension.class) @ContextConfiguration(classes = HandlingModeJTAConnectionReleaseConfiguration.class) @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_CLASS) public class HandlingModeJtaConnectionReleaseTest { @@ -35,7 +35,7 @@ public class HandlingModeJtaConnectionReleaseTest { private int[] batches = {10, 50, 100, 500, 1000, 5000, 10000}; @Test - @Ignore + @Disabled public void test() { //Warming up for (int i = 0; i < 100; i++) { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/jta/JTAConnectionReleaseTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/jta/JTAConnectionReleaseTest.java index 8a9b3b6b7..1d019f3b7 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/jta/JTAConnectionReleaseTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/jta/JTAConnectionReleaseTest.java @@ -3,22 +3,22 @@ import jakarta.persistence.EntityManager; import jakarta.persistence.PersistenceContext; import org.hibernate.Session; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.transaction.support.TransactionCallback; import org.springframework.transaction.support.TransactionTemplate; import java.util.concurrent.TimeUnit; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNotNull; -@RunWith(SpringJUnit4ClassRunner.class) +@ExtendWith(SpringExtension.class) @ContextConfiguration(classes = AtomikosJTAConnectionReleaseConfiguration.class) @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_CLASS) public class JTAConnectionReleaseTest { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/jta/JTAConnectionThreadBoundTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/jta/JTAConnectionThreadBoundTest.java index 9bb078319..177cbc577 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/jta/JTAConnectionThreadBoundTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/jta/JTAConnectionThreadBoundTest.java @@ -3,21 +3,21 @@ import jakarta.persistence.EntityManager; import jakarta.persistence.PersistenceContext; import org.hibernate.Session; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.transaction.support.TransactionCallback; import org.springframework.transaction.support.TransactionTemplate; import javax.sql.DataSource; import java.sql.Connection; -@RunWith(SpringJUnit4ClassRunner.class) +@ExtendWith(SpringExtension.class) @ContextConfiguration(classes = AtomikosJTAConnectionReleaseConfiguration.class) @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_CLASS) public class JTAConnectionThreadBoundTest { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/criteria/CriteriaBulkUpdateDeleteTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/criteria/CriteriaBulkUpdateDeleteTest.java index a1816d826..a20e7d7bf 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/criteria/CriteriaBulkUpdateDeleteTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/criteria/CriteriaBulkUpdateDeleteTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.criteria; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import jakarta.persistence.criteria.*; @@ -10,7 +10,7 @@ import java.time.LocalDateTime; import java.util.Date; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/criteria/CriteriaCountGroupByTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/criteria/CriteriaCountGroupByTest.java index 10be7e155..4595e3027 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/criteria/CriteriaCountGroupByTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/criteria/CriteriaCountGroupByTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.criteria; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Entity; import jakarta.persistence.Id; @@ -12,7 +12,7 @@ import jakarta.persistence.criteria.Root; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/criteria/TupleTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/criteria/TupleTest.java index c437a889e..ec02ef408 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/criteria/TupleTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/criteria/TupleTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Tuple; import jakarta.persistence.criteria.CriteriaBuilder; @@ -12,8 +12,6 @@ import java.util.List; /** - * EntityGraphMapperTest - Test mapping to entity - * * @author Vlad Mihalcea */ public class TupleTest extends AbstractTest { @@ -26,8 +24,7 @@ protected Class[] entities() { } @Override - public void init() { - super.init(); + public void afterInit() { doInJPA(entityManager -> { entityManager.persist(new BlogEntityProvider.Post(1L)); entityManager.persist(new BlogEntityProvider.Post(2L)); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/criteria/blaze/BlazePersistenceCriteriaTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/criteria/blaze/BlazePersistenceCriteriaTest.java index bf6e3484b..bcd3d0f73 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/criteria/blaze/BlazePersistenceCriteriaTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/criteria/blaze/BlazePersistenceCriteriaTest.java @@ -16,12 +16,12 @@ import org.hibernate.Session; import org.hibernate.query.NativeQuery; import org.hibernate.query.criteria.HibernateCriteriaBuilder; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Date; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/criteria/blaze/bulk/BlazePersistenceBulkUpdateDeleteTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/criteria/blaze/bulk/BlazePersistenceBulkUpdateDeleteTest.java index 5bad5177d..6ef0c61e7 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/criteria/blaze/bulk/BlazePersistenceBulkUpdateDeleteTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/criteria/blaze/bulk/BlazePersistenceBulkUpdateDeleteTest.java @@ -4,14 +4,14 @@ import com.blazebit.persistence.spi.CriteriaBuilderConfiguration; import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.sql.Timestamp; import java.time.LocalDateTime; import java.util.Date; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/criteria/blaze/tab/BlazePersistenceTabInstanceTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/criteria/blaze/tab/BlazePersistenceTabInstanceTest.java index 47de997a8..3e192099b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/criteria/blaze/tab/BlazePersistenceTabInstanceTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/criteria/blaze/tab/BlazePersistenceTabInstanceTest.java @@ -6,14 +6,15 @@ import com.vladmihalcea.hpjp.hibernate.criteria.blaze.tab.cte.TabKeyVer; import com.vladmihalcea.hpjp.util.AbstractOracleIntegrationTest; import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import jakarta.persistence.EntityManagerFactory; import java.util.List; import static org.hamcrest.MatcherAssert.assertThat; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea @@ -41,7 +42,7 @@ protected EntityManagerFactory newEntityManagerFactory() { return entityManagerFactory; } - @Before + @BeforeEach public void init() { super.init(); executeStatement("DROP table tab_instance"); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/criteria/literal/DefaultCriteriaLiteralTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/criteria/literal/DefaultCriteriaLiteralTest.java index 95b1aa4b1..1ca47c539 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/criteria/literal/DefaultCriteriaLiteralTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/criteria/literal/DefaultCriteriaLiteralTest.java @@ -10,9 +10,9 @@ import jakarta.persistence.criteria.ParameterExpression; import jakarta.persistence.criteria.Root; import org.hibernate.annotations.NaturalId; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/equality/AbstractEqualityCheckTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/equality/AbstractEqualityCheckTest.java index 5eb42cc55..f92bc5512 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/equality/AbstractEqualityCheckTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/equality/AbstractEqualityCheckTest.java @@ -8,7 +8,7 @@ import java.util.HashSet; import java.util.Set; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * @author Vlad Mihalcea @@ -24,8 +24,8 @@ protected void assertEqualityConsistency(Class clazz, T entity) { entityManager.persist(entity); entityManager.flush(); assertTrue( - "The entity is not found in the Set after it's persisted.", - tuples.contains(entity) + tuples.contains(entity), + "The entity is not found in the Set after it's persisted." ); }); @@ -34,32 +34,32 @@ protected void assertEqualityConsistency(Class clazz, T entity) { doInJPA(entityManager -> { T _entity = entityManager.merge(entity); assertTrue( - "The entity is not found in the Set after it's merged.", - tuples.contains(_entity) + tuples.contains(_entity), + "The entity is not found in the Set after it's merged." ); }); - doInJPA(entityManager -> { - entityManager.unwrap(Session.class).update(entity); + doInStatelessSession(session -> { + session.update(entity); assertTrue( - "The entity is not found in the Set after it's reattached.", - tuples.contains(entity) + tuples.contains(entity), + "The entity is not found in the Set after it's reattached." ); }); doInJPA(entityManager -> { T _entity = entityManager.find(clazz, entity.getId()); assertTrue( - "The entity is not found in the Set after it's loaded in a different Persistence Context.", - tuples.contains(_entity) + tuples.contains(_entity), + "The entity is not found in the Set after it's loaded in a different Persistence Context." ); }); doInJPA(entityManager -> { T _entity = entityManager.getReference(clazz, entity.getId()); assertTrue( - "The entity is not found in the Set after it's loaded as a proxy in a different Persistence Context.", - tuples.contains(_entity) + tuples.contains(_entity), + "The entity is not found in the Set after it's loaded as a proxy in a different Persistence Context." ); }); @@ -69,13 +69,13 @@ protected void assertEqualityConsistency(Class clazz, T entity) { entity.getId() ); assertTrue( - "The entity is not equal with the entity proxy.", - entity.equals(entityProxy) + entity.equals(entityProxy), + "The entity is not equal with the entity proxy." ); assertEquals( - "The entity hashCode is different than the entity proxy.", entity.hashCode(), - entityProxy.hashCode() + entityProxy.hashCode(), + "The entity hashCode is different than the entity proxy." ); }); @@ -89,8 +89,8 @@ protected void assertEqualityConsistency(Class clazz, T entity) { }); assertTrue( - "The entity is not found in the Set even after it's deleted.", - tuples.contains(deletedEntity) + tuples.contains(deletedEntity), + "The entity is not found in the Set even after it's deleted." ); } } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/equality/DefaultEqualityTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/equality/DefaultEqualityTest.java index ba4a12573..d72da9f03 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/equality/DefaultEqualityTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/equality/DefaultEqualityTest.java @@ -1,8 +1,8 @@ package com.vladmihalcea.hpjp.hibernate.equality; import com.vladmihalcea.hpjp.hibernate.identifier.Identifiable; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; @@ -23,7 +23,7 @@ protected Class[] entities() { } @Test - @Ignore + @Disabled public void testEquality() { Post post = new Post(); post.setTitle("High-PerformanceJava Persistence"); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/equality/DefaultIdEqualityTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/equality/DefaultIdEqualityTest.java index 21c02e5fe..d73317aa7 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/equality/DefaultIdEqualityTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/equality/DefaultIdEqualityTest.java @@ -1,8 +1,8 @@ package com.vladmihalcea.hpjp.hibernate.equality; import com.vladmihalcea.hpjp.hibernate.identifier.Identifiable; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; @@ -24,7 +24,7 @@ protected Class[] entities() { } @Test - @Ignore + @Disabled public void testEquality() { Post post = new Post(); post.setTitle("High-PerformanceJava Persistence"); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/equality/IdEqualityParentChildTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/equality/IdEqualityParentChildTest.java index 0fadafdfe..20a199ed9 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/equality/IdEqualityParentChildTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/equality/IdEqualityParentChildTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.hibernate.identifier.Identifiable; import com.vladmihalcea.hpjp.util.providers.Database; import jakarta.persistence.*; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.HashSet; import java.util.Properties; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/equality/IdEqualityTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/equality/IdEqualityTest.java index 51e91941b..2c4e0a20b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/equality/IdEqualityTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/equality/IdEqualityTest.java @@ -5,8 +5,8 @@ import jakarta.persistence.GeneratedValue; import jakarta.persistence.Id; import jakarta.persistence.Table; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import java.util.*; import java.util.concurrent.TimeUnit; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/equality/IdWasNullEqualityTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/equality/IdWasNullEqualityTest.java index 4b87d24c9..567b578b4 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/equality/IdWasNullEqualityTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/equality/IdWasNullEqualityTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.hibernate.identifier.Identifiable; import com.vladmihalcea.hpjp.util.providers.Database; import jakarta.persistence.*; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.*; import java.util.concurrent.TimeUnit; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/equality/NaturalIdEqualityTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/equality/NaturalIdEqualityTest.java index 87b090b03..bb6430668 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/equality/NaturalIdEqualityTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/equality/NaturalIdEqualityTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.hibernate.identifier.Identifiable; import org.hibernate.annotations.NaturalId; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.Objects; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/equality/UUIDEqualityTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/equality/UUIDEqualityTest.java index f444e8ae3..95f5951b4 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/equality/UUIDEqualityTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/equality/UUIDEqualityTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.equality; import com.vladmihalcea.hpjp.hibernate.identifier.Identifiable; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Entity; import jakarta.persistence.Id; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/BatchSizeCollectionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/BatchSizeCollectionTest.java index 301fca0cb..c3f98b016 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/BatchSizeCollectionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/BatchSizeCollectionTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import org.hibernate.annotations.BatchSize; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; @@ -10,8 +10,8 @@ import java.util.List; import java.util.stream.LongStream; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; /** * @author Vlad Mihalcea @@ -21,16 +21,12 @@ public class BatchSizeCollectionTest extends AbstractPostgreSQLIntegrationTest { @Override protected Class[] entities() { return new Class[]{ - Post.class, - PostComment.class, + Post.class, + PostComment.class, }; } - - @Override - public void init() { - super.init(); - + public void afterInit() { int commentsSize = 2; doInJPA(entityManager -> { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/CriteriaAPIEntityTypeJoinedTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/CriteriaAPIEntityTypeJoinedTest.java index a2c23e5b5..a0d3e355f 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/CriteriaAPIEntityTypeJoinedTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/CriteriaAPIEntityTypeJoinedTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.fetching; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import jakarta.persistence.criteria.CriteriaBuilder; @@ -12,7 +12,7 @@ import java.util.Date; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/CriteriaAPIEntityTypeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/CriteriaAPIEntityTypeTest.java index e85cf4137..173c6390f 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/CriteriaAPIEntityTypeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/CriteriaAPIEntityTypeTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.fetching; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import jakarta.persistence.criteria.*; @@ -11,7 +11,7 @@ import java.util.Date; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/CriteriaAPIMemberOfTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/CriteriaAPIMemberOfTest.java index 126a070bd..761fd91a7 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/CriteriaAPIMemberOfTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/CriteriaAPIMemberOfTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.fetching; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import jakarta.persistence.criteria.*; @@ -22,10 +22,8 @@ protected Class[] entities() { }; } - @Override - public void init() { - super.init(); + public void afterInit() { doInJPA(entityManager -> { CalendarEvent event = new CalendarEvent(); event.mailingCodes.add(1); @@ -65,7 +63,6 @@ public void testFind() { } @Entity(name = "CalendarEvent") - @Table public static class CalendarEvent implements Serializable { @Id diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/CriteriaAPITest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/CriteriaAPITest.java index fe350dcdd..61e7dd44e 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/CriteriaAPITest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/CriteriaAPITest.java @@ -4,16 +4,16 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import org.hibernate.query.Query; import org.hibernate.transform.Transformers; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.EntityManager; import jakarta.persistence.criteria.*; import java.util.Date; import java.util.List; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea @@ -30,10 +30,8 @@ protected Class[] entities() { }; } - @Override - public void init() { - super.init(); + public void afterInit() { doInJPA(entityManager -> { Post post = new Post() .setId(1L) diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/DistinctTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/DistinctTest.java index 018bf64b3..db7baea7d 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/DistinctTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/DistinctTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.time.LocalDate; @@ -10,7 +10,7 @@ import java.util.List; import java.util.stream.Collectors; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/EagerFetchingCollectionsFindVsQueryTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/EagerFetchingCollectionsFindVsQueryTest.java index e13bad74f..2e10612a9 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/EagerFetchingCollectionsFindVsQueryTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/EagerFetchingCollectionsFindVsQueryTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; @@ -10,7 +10,7 @@ import java.util.List; import java.util.Set; -import static org.junit.Assert.assertFalse; +import static org.junit.jupiter.api.Assertions.assertFalse; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/EagerFetchingCollectionsQueryTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/EagerFetchingCollectionsQueryTest.java index 052b161a2..4e187eb03 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/EagerFetchingCollectionsQueryTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/EagerFetchingCollectionsQueryTest.java @@ -1,12 +1,12 @@ package com.vladmihalcea.hpjp.hibernate.fetching; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.*; -import static org.junit.Assert.assertFalse; +import static org.junit.jupiter.api.Assertions.assertFalse; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/EagerFetchingManyToOneEntityGraphTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/EagerFetchingManyToOneEntityGraphTest.java index bc1181459..612969e6b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/EagerFetchingManyToOneEntityGraphTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/EagerFetchingManyToOneEntityGraphTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.fetching; import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; @@ -9,7 +9,7 @@ import java.util.Date; import java.util.List; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/EagerFetchingManyToOneTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/EagerFetchingManyToOneTest.java index 9ae65eff0..17e3e814c 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/EagerFetchingManyToOneTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/EagerFetchingManyToOneTest.java @@ -2,13 +2,13 @@ import com.vladmihalcea.hpjp.hibernate.logging.validator.sql.SQLStatementCountValidator; import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.List; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/EntityGraphEagerPostTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/EntityGraphEagerPostTest.java index 9f910a6fa..df1bba578 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/EntityGraphEagerPostTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/EntityGraphEagerPostTest.java @@ -1,14 +1,14 @@ package com.vladmihalcea.hpjp.hibernate.fetching; import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; import java.util.Collections; import java.util.List; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/EntityGraphTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/EntityGraphTest.java index 81cfc5047..0f0ee784d 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/EntityGraphTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/EntityGraphTest.java @@ -1,9 +1,9 @@ package com.vladmihalcea.hpjp.hibernate.fetching; import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; -import org.hibernate.testing.bytecode.enhancement.BytecodeEnhancerRunner; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.hibernate.testing.bytecode.enhancement.extension.BytecodeEnhanced; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import jakarta.persistence.*; import java.util.ArrayList; @@ -11,12 +11,13 @@ import java.util.Date; import java.util.List; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; +import org.junit.runner.RunWith; /** * @author Vlad Mihalcea */ -@RunWith(BytecodeEnhancerRunner.class) +@BytecodeEnhanced public class EntityGraphTest extends AbstractPostgreSQLIntegrationTest { @Override diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/ExtraLazyCollectionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/ExtraLazyCollectionTest.java deleted file mode 100644 index 517ef453f..000000000 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/ExtraLazyCollectionTest.java +++ /dev/null @@ -1,182 +0,0 @@ -package com.vladmihalcea.hpjp.hibernate.fetching; - -import com.vladmihalcea.hpjp.util.AbstractTest; -import org.hibernate.annotations.LazyCollection; -import org.hibernate.annotations.LazyCollectionOption; -import org.junit.Test; - -import jakarta.persistence.*; -import java.util.ArrayList; -import java.util.List; - -import static org.junit.Assert.assertEquals; - -/** - * @author Vlad Mihalcea - */ -public class ExtraLazyCollectionTest extends AbstractTest { - - @Override - protected Class[] entities() { - return new Class[]{ - Post.class, - PostComment.class - }; - } - - @Test - public void test() { - doInJPA(entityManager -> { - entityManager.persist( - new Post() - .setId(1L) - .setTitle("High-Performance Java Persistence") - .addComment( - new PostComment() - .setId(1L) - .setReview("Excellent book to understand Java persistence") - ) - .addComment( - new PostComment() - .setId(2L) - .setReview("The best JPA ORM book out there") - ) - .addComment( - new PostComment() - .setId(3L) - .setReview("Must-read for Java developers") - ) - ); - }); - - LOGGER.info("Fetch comments with for-each loop"); - - doInJPA(entityManager -> { - Post post = entityManager.find(Post.class, 1L); - - for (PostComment comment: post.getComments()) { - LOGGER.info("{} book review: {}", - post.getTitle(), - comment.getReview() - ); - } - }); - - LOGGER.info("Fetch comments with for loop"); - - doInJPA(entityManager -> { - Post post = entityManager.find(Post.class, 1L); - - int commentCount = post.getComments().size(); - - for(int i = 0; i < commentCount; i++ ) { - PostComment comment = post.getComments().get(i); - LOGGER.info("{} book review: {}", - post.getTitle(), - comment.getReview() - ); - } - }); - } - - @Entity(name = "Post") - @Table(name = "post") - public static class Post { - - @Id - private Long id; - - private String title; - - @OneToMany(mappedBy = "post", cascade = CascadeType.ALL, orphanRemoval = true) - @LazyCollection(LazyCollectionOption.EXTRA) - @OrderColumn(name = "order_id") - private List comments = new ArrayList<>(); - - public Long getId() { - return id; - } - - public Post setId(Long id) { - this.id = id; - return this; - } - - public String getTitle() { - return title; - } - - public Post setTitle(String title) { - this.title = title; - return this; - } - - public List getComments() { - return comments; - } - - public Post addComment(PostComment comment) { - comments.add(comment); - comment.setPost(this); - return this; - } - - public Post removeComment(PostComment comment) { - comments.remove(comment); - comment.setPost(null); - return this; - } - } - - @Entity(name = "PostComment") - @Table(name = "post_comment") - public static class PostComment { - - @Id - private Long id; - - @ManyToOne(fetch = FetchType.LAZY) - private Post post; - - private String review; - - public Long getId() { - return id; - } - - public PostComment setId(Long id) { - this.id = id; - return this; - } - - public Post getPost() { - return post; - } - - public PostComment setPost(Post post) { - this.post = post; - return this; - } - - public String getReview() { - return review; - } - - public PostComment setReview(String review) { - this.review = review; - return this; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - return id != null && id.equals(((PostComment) o).getId()); - } - - @Override - public int hashCode() { - return getClass().hashCode(); - } - } -} diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/FetchAllAssociationsTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/FetchAllAssociationsTest.java index 997a19704..0b2acc908 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/FetchAllAssociationsTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/FetchAllAssociationsTest.java @@ -20,12 +20,12 @@ import org.hibernate.Hibernate; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; /** * @author Vlad Mihalcea @@ -35,17 +35,16 @@ public class FetchAllAssociationsTest extends AbstractPostgreSQLIntegrationTest @Override protected Class[] entities() { return new Class[]{ - Post.class, - PostDetails.class, - PostComment.class, - Tag.class + Post.class, + PostDetails.class, + PostComment.class, + Tag.class }; } @Override - public void init() { - super.init(); + public void afterInit() { int commentsSize = 2; doInJPA(entityManager -> { Tag java = new Tag(); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/FetchTypeEagerManyToOneEntityGraphTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/FetchTypeEagerManyToOneEntityGraphTest.java index c92410a42..5b1fed4e8 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/FetchTypeEagerManyToOneEntityGraphTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/FetchTypeEagerManyToOneEntityGraphTest.java @@ -5,11 +5,11 @@ import org.hibernate.Hibernate; import org.hibernate.LazyInitializationException; import org.hibernate.jpa.SpecHints; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Map; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/FindByMultipleIdsTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/FindByMultipleIdsTest.java index 6f23c8c81..419ccf937 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/FindByMultipleIdsTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/FindByMultipleIdsTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Entity; import jakarta.persistence.Id; @@ -16,8 +16,8 @@ import java.util.List; import java.util.Properties; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; public class FindByMultipleIdsTest extends AbstractTest { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/FindEntityTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/FindEntityTest.java index 53baa6a48..3d8988c35 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/FindEntityTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/FindEntityTest.java @@ -2,12 +2,12 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; /** * @author Vlad Mihalcea @@ -39,15 +39,6 @@ public void testFind() { }); } - @Test - public void testGet() { - doInJPA(entityManager -> { - Session session = entityManager.unwrap(Session.class); - Post post = session.get(Post.class, 1L); - assertNotNull(post); - }); - } - @Test public void testFindWithQuery() { doInJPA(entityManager -> { @@ -69,21 +60,11 @@ public void testGetReference() { }); } - @Test - public void testByIdGetReference() { - doInJPA(entityManager -> { - Session session = entityManager.unwrap(Session.class); - Post post = session.byId(Post.class).getReference(1L); - LOGGER.info("Loaded post entity"); - LOGGER.info("The post title is '{}'", post.getTitle()); - }); - } - @Test public void testLoad() { doInJPA(entityManager -> { Session session = entityManager.unwrap(Session.class); - Post post = session.load(Post.class, 1L); + Post post = session.getReference(Post.class, 1L); LOGGER.info("Loaded post entity"); LOGGER.info("The post title is '{}'", post.getTitle()); }); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/FindVsGetReferenceTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/FindVsGetReferenceTest.java index 41a7faa1f..7d4ac5ac6 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/FindVsGetReferenceTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/FindVsGetReferenceTest.java @@ -2,11 +2,11 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.LazyInitializationException; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/GroupByMapTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/GroupByMapTest.java index 25ae79dbc..8394739c6 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/GroupByMapTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/GroupByMapTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import org.hibernate.transform.ResultTransformer; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.time.LocalDate; @@ -10,7 +10,7 @@ import java.util.function.Function; import java.util.stream.Collectors; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/HibernateInitializeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/HibernateInitializeTest.java index f266976f4..0603b203d 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/HibernateInitializeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/HibernateInitializeTest.java @@ -1,32 +1,25 @@ package com.vladmihalcea.hpjp.hibernate.fetching; import com.vladmihalcea.hpjp.util.AbstractTest; +import jakarta.persistence.*; import org.hibernate.Hibernate; -import org.hibernate.Session; import org.hibernate.annotations.Cache; import org.hibernate.annotations.CacheConcurrencyStrategy; -import org.junit.Test; - -import jakarta.persistence.CascadeType; -import jakarta.persistence.Entity; -import jakarta.persistence.FetchType; -import jakarta.persistence.Id; -import jakarta.persistence.ManyToOne; -import jakarta.persistence.OneToMany; -import jakarta.persistence.Table; +import org.junit.jupiter.api.Test; + import java.util.ArrayList; import java.util.List; import java.util.Properties; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.assertEquals; public class HibernateInitializeTest extends AbstractTest { @Override protected Class[] entities() { return new Class[]{ - Post.class, - PostComment.class, + Post.class, + PostComment.class, }; } @@ -203,10 +196,9 @@ public void testDetachedProxy() { }); doInJPA(entityManager -> { + Post _post = entityManager.merge(post); - entityManager.unwrap(Session.class).update(post); - - List comments = post.getComments(); + List comments = _post.getComments(); LOGGER.info("Collection class: {}", comments.getClass().getName()); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/HibernateProxyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/HibernateProxyTest.java index 9b567c8c0..8816c81cc 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/HibernateProxyTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/HibernateProxyTest.java @@ -2,11 +2,11 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.Hibernate; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; public class HibernateProxyTest extends AbstractTest { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/LazyAttributeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/LazyAttributeTest.java index 63b3e18bf..75696ff1f 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/LazyAttributeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/LazyAttributeTest.java @@ -4,7 +4,7 @@ import com.vladmihalcea.hpjp.hibernate.forum.MediaType; import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.io.IOException; import java.net.URISyntaxException; @@ -13,8 +13,8 @@ import java.nio.file.Paths; import java.util.Properties; -import static org.junit.Assert.assertArrayEquals; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertArrayEquals; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/LazyAttributeWithMultipleEntitiesTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/LazyAttributeWithMultipleEntitiesTest.java index 3871c0f57..70bfc0a2a 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/LazyAttributeWithMultipleEntitiesTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/LazyAttributeWithMultipleEntitiesTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.hibernate.forum.MediaType; import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.io.IOException; @@ -13,8 +13,8 @@ import java.nio.file.Paths; import java.util.concurrent.atomic.AtomicReference; -import static org.junit.Assert.assertArrayEquals; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertArrayEquals; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/LazyFetchingManyToOneFindEntityTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/LazyFetchingManyToOneFindEntityTest.java index 7e0f25d04..910f7cd6e 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/LazyFetchingManyToOneFindEntityTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/LazyFetchingManyToOneFindEntityTest.java @@ -1,15 +1,15 @@ package com.vladmihalcea.hpjp.hibernate.fetching; -import com.vladmihalcea.hpjp.hibernate.forum.PostComment_; import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import jakarta.persistence.*; import org.hibernate.LazyInitializationException; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Collections; import java.util.List; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertThrows; /** * @author Vlad Mihalcea @@ -130,7 +130,7 @@ public void testNPlusOne() { }); } - @Test(expected = LazyInitializationException.class) + @Test public void testSessionIsClosed() { doInJPA(entityManager -> { Post post = new Post(); @@ -144,7 +144,7 @@ public void testSessionIsClosed() { entityManager.persist(comment); }); - PostComment comment = null; + final PostComment comment; EntityManager entityManager = null; EntityTransaction transaction = null; @@ -166,7 +166,9 @@ public void testSessionIsClosed() { } } - LOGGER.info("The post title is '{}'", comment.getPost().getTitle()); + assertThrows(LazyInitializationException.class, ()-> + LOGGER.info("The post title is '{}'", comment.getPost().getTitle()) + ); } @Entity(name = "Post") diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/LazyInitializationExceptionFixTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/LazyInitializationExceptionFixTest.java index ea947a2b9..81945589f 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/LazyInitializationExceptionFixTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/LazyInitializationExceptionFixTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.fetching; import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.List; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/LazyInitializationExceptionFixWithDTOTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/LazyInitializationExceptionFixWithDTOTest.java index 8e1317b2a..ed49e9c3b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/LazyInitializationExceptionFixWithDTOTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/LazyInitializationExceptionFixWithDTOTest.java @@ -4,7 +4,7 @@ import io.hypersistence.utils.hibernate.type.util.ClassImportIntegrator; import jakarta.persistence.*; import org.hibernate.jpa.boot.spi.IntegratorProvider; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Collections; import java.util.List; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/LazyInitializationExceptionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/LazyInitializationExceptionTest.java index 874e6d1e9..8c3c0ef61 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/LazyInitializationExceptionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/LazyInitializationExceptionTest.java @@ -2,14 +2,14 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import org.hibernate.LazyInitializationException; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.List; import java.util.Locale; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/LazyInitializationOutsideTransactionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/LazyInitializationOutsideTransactionTest.java index db87fd9e4..27c5f533f 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/LazyInitializationOutsideTransactionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/LazyInitializationOutsideTransactionTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import org.hibernate.cfg.AvailableSettings; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.List; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/MySQLScrollableResultsNoStreamingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/MySQLScrollableResultsNoStreamingTest.java index b37e87f54..2b93aadd4 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/MySQLScrollableResultsNoStreamingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/MySQLScrollableResultsNoStreamingTest.java @@ -4,31 +4,26 @@ import com.codahale.metrics.Slf4jReporter; import com.codahale.metrics.Timer; import com.vladmihalcea.hpjp.util.AbstractMySQLIntegrationTest; -import org.hibernate.query.Query; -import org.junit.Ignore; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; - import jakarta.persistence.Entity; import jakarta.persistence.EntityManager; import jakarta.persistence.Id; import jakarta.persistence.Table; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; +import org.hibernate.query.Query; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.ValueSource; + import java.util.Properties; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicLong; import java.util.stream.LongStream; import java.util.stream.Stream; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea */ -@RunWith(Parameterized.class) public class MySQLScrollableResultsNoStreamingTest extends AbstractMySQLIntegrationTest { private MetricRegistry metricRegistry = new MetricRegistry(); @@ -40,12 +35,6 @@ public class MySQLScrollableResultsNoStreamingTest extends AbstractMySQLIntegrat .outputTo(LOGGER) .build(); - private final int resultSetSize; - - public MySQLScrollableResultsNoStreamingTest(Integer resultSetSize) { - this.resultSetSize = resultSetSize; - } - @Override protected Class[] entities() { return new Class[]{ @@ -53,31 +42,7 @@ protected Class[] entities() { }; } - @Parameterized.Parameters - public static Collection parameters() { - List providers = new ArrayList<>(); - providers.add(new Integer[]{1}); - providers.add(new Integer[]{2}); - providers.add(new Integer[]{5}); - providers.add(new Integer[]{10}); - providers.add(new Integer[]{25}); - providers.add(new Integer[]{50}); - providers.add(new Integer[]{75}); - providers.add(new Integer[]{100}); - providers.add(new Integer[]{250}); - providers.add(new Integer[]{500}); - providers.add(new Integer[]{750}); - providers.add(new Integer[]{1000}); - providers.add(new Integer[]{1500}); - providers.add(new Integer[]{2000}); - providers.add(new Integer[]{2500}); - providers.add(new Integer[]{5000}); - return providers; - } - - @Override - public void init() { - super.init(); + public void afterInit() { doInJPA(entityManager -> { LongStream.range(0, 5000).forEach(i -> { Post post = new Post(i); @@ -100,28 +65,29 @@ protected Properties properties() { return properties; } - @Test - @Ignore - public void testStream() { + @Disabled + @ParameterizedTest + @ValueSource(ints = {1,2,5,10,25,50,75,100,250,500,750,1000,1500,2000,2500,5000}) + public void testStream(int resultSetSize) { //warming up LOGGER.info("Warming up"); doInJPA(entityManager -> { for (int i = 0; i < 25_000; i++) { - stream(entityManager); + stream(entityManager, resultSetSize); } }); int iterations = 10_000; doInJPA(entityManager -> { for (int i = 0; i < iterations; i++) { long startNanos = System.nanoTime(); - stream(entityManager); + stream(entityManager, resultSetSize); timer.update(System.nanoTime() - startNanos, TimeUnit.NANOSECONDS); } }); logReporter.report(); } - private void stream(EntityManager entityManager) { + private void stream(EntityManager entityManager, int resultSetSize) { final AtomicLong sum = new AtomicLong(); try(Stream postStream = entityManager .createQuery("select p from Post p", Post.class) diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/MySQLScrollableResultsStreamingCustomFetchSizeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/MySQLScrollableResultsStreamingCustomFetchSizeTest.java index 2fcf1f97f..00c2ad73d 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/MySQLScrollableResultsStreamingCustomFetchSizeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/MySQLScrollableResultsStreamingCustomFetchSizeTest.java @@ -6,32 +6,27 @@ import com.vladmihalcea.hpjp.util.AbstractMySQLIntegrationTest; import com.vladmihalcea.hpjp.util.providers.DataSourceProvider; import com.vladmihalcea.hpjp.util.providers.MySQLDataSourceProvider; -import org.hibernate.jpa.AvailableHints; -import org.hibernate.query.Query; -import org.junit.Ignore; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; - import jakarta.persistence.Entity; import jakarta.persistence.EntityManager; import jakarta.persistence.Id; import jakarta.persistence.Table; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; +import org.hibernate.jpa.AvailableHints; +import org.hibernate.query.Query; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.ValueSource; + import java.util.Properties; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicLong; import java.util.stream.LongStream; import java.util.stream.Stream; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea */ -@RunWith(Parameterized.class) public class MySQLScrollableResultsStreamingCustomFetchSizeTest extends AbstractMySQLIntegrationTest { private MetricRegistry metricRegistry = new MetricRegistry(); @@ -43,12 +38,6 @@ public class MySQLScrollableResultsStreamingCustomFetchSizeTest extends Abstract .outputTo(LOGGER) .build(); - private final int resultSetSize; - - public MySQLScrollableResultsStreamingCustomFetchSizeTest(Integer resultSetSize) { - this.resultSetSize = resultSetSize; - } - @Override protected DataSourceProvider dataSourceProvider() { MySQLDataSourceProvider dataSourceProvider = new MySQLDataSourceProvider(); @@ -63,31 +52,7 @@ protected Class[] entities() { }; } - @Parameterized.Parameters - public static Collection parameters() { - List providers = new ArrayList<>(); - providers.add(new Integer[]{1}); - providers.add(new Integer[]{2}); - providers.add(new Integer[]{5}); - providers.add(new Integer[]{10}); - providers.add(new Integer[]{25}); - providers.add(new Integer[]{50}); - providers.add(new Integer[]{75}); - providers.add(new Integer[]{100}); - providers.add(new Integer[]{250}); - providers.add(new Integer[]{500}); - providers.add(new Integer[]{750}); - providers.add(new Integer[]{1000}); - providers.add(new Integer[]{1500}); - providers.add(new Integer[]{2000}); - providers.add(new Integer[]{2500}); - providers.add(new Integer[]{5000}); - return providers; - } - - @Override - public void init() { - super.init(); + public void afterInit() { doInJPA(entityManager -> { LongStream.range(0, 5000).forEach(i -> { Post post = new Post(i); @@ -110,28 +75,29 @@ protected Properties properties() { return properties; } - @Test - @Ignore - public void testStream() { + @Disabled + @ParameterizedTest + @ValueSource(ints = {1,2,5,10,25,50,75,100,250,500,750,1000,1500,2000,2500,5000}) + public void testStream(int resultSetSize) { //warming up LOGGER.info("Warming up"); doInJPA(entityManager -> { for (int i = 0; i < 25_000; i++) { - stream(entityManager); + stream(entityManager, resultSetSize); } }); int iterations = 10_000; doInJPA(entityManager -> { for (int i = 0; i < iterations; i++) { long startNanos = System.nanoTime(); - stream(entityManager); + stream(entityManager, resultSetSize); timer.update(System.nanoTime() - startNanos, TimeUnit.NANOSECONDS); } }); logReporter.report(); } - private void stream(EntityManager entityManager) { + private void stream(EntityManager entityManager, int resultSetSize) { final AtomicLong sum = new AtomicLong(); try(Stream postStream = entityManager .createQuery("select p from Post p", Post.class) diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/MySQLScrollableResultsStreamingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/MySQLScrollableResultsStreamingTest.java index 599439359..1dfd47024 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/MySQLScrollableResultsStreamingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/MySQLScrollableResultsStreamingTest.java @@ -4,17 +4,16 @@ import com.codahale.metrics.Slf4jReporter; import com.codahale.metrics.Timer; import com.vladmihalcea.hpjp.util.AbstractMySQLIntegrationTest; -import org.hibernate.jpa.AvailableHints; -import org.hibernate.query.Query; -import org.junit.Ignore; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; - import jakarta.persistence.Entity; import jakarta.persistence.EntityManager; import jakarta.persistence.Id; import jakarta.persistence.Table; +import org.hibernate.jpa.AvailableHints; +import org.hibernate.query.Query; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.ValueSource; + import java.util.ArrayList; import java.util.Collection; import java.util.List; @@ -24,12 +23,11 @@ import java.util.stream.LongStream; import java.util.stream.Stream; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea */ -@RunWith(Parameterized.class) public class MySQLScrollableResultsStreamingTest extends AbstractMySQLIntegrationTest { private MetricRegistry metricRegistry = new MetricRegistry(); @@ -41,12 +39,6 @@ public class MySQLScrollableResultsStreamingTest extends AbstractMySQLIntegratio .outputTo(LOGGER) .build(); - private final int resultSetSize; - - public MySQLScrollableResultsStreamingTest(Integer resultSetSize) { - this.resultSetSize = resultSetSize; - } - @Override protected Class[] entities() { return new Class[]{ @@ -54,31 +46,7 @@ protected Class[] entities() { }; } - @Parameterized.Parameters - public static Collection parameters() { - List providers = new ArrayList<>(); - providers.add(new Integer[]{1}); - providers.add(new Integer[]{2}); - providers.add(new Integer[]{5}); - providers.add(new Integer[]{10}); - providers.add(new Integer[]{25}); - providers.add(new Integer[]{50}); - providers.add(new Integer[]{75}); - providers.add(new Integer[]{100}); - providers.add(new Integer[]{250}); - providers.add(new Integer[]{500}); - providers.add(new Integer[]{750}); - providers.add(new Integer[]{1000}); - providers.add(new Integer[]{1500}); - providers.add(new Integer[]{2000}); - providers.add(new Integer[]{2500}); - providers.add(new Integer[]{5000}); - return providers; - } - - @Override - public void init() { - super.init(); + public void afterInit() { doInJPA(entityManager -> { LongStream.range(0, 5000).forEach(i -> { Post post = new Post(i); @@ -101,28 +69,29 @@ protected Properties properties() { return properties; } - @Test - @Ignore - public void testStream() { + @Disabled + @ParameterizedTest + @ValueSource(ints = {1,2,5,10,25,50,75,100,250,500,750,1000,1500,2000,2500,5000}) + public void testStream(int resultSetSize) { //warming up LOGGER.info("Warming up"); doInJPA(entityManager -> { for (int i = 0; i < 25_000; i++) { - stream(entityManager); + stream(entityManager, resultSetSize); } }); int iterations = 10_000; doInJPA(entityManager -> { for (int i = 0; i < iterations; i++) { long startNanos = System.nanoTime(); - stream(entityManager); + stream(entityManager, resultSetSize); timer.update(System.nanoTime() - startNanos, TimeUnit.NANOSECONDS); } }); logReporter.report(); } - private void stream(EntityManager entityManager) { + private void stream(EntityManager entityManager, int resultSetSize) { final AtomicLong sum = new AtomicLong(); try(Stream postStream = entityManager .createQuery("select p from Post p", Post.class) diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/NPlusOneEagerFetchingManyToOneFindEntityTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/NPlusOneEagerFetchingManyToOneFindEntityTest.java index 9b3a0ce27..2fd67ea1c 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/NPlusOneEagerFetchingManyToOneFindEntityTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/NPlusOneEagerFetchingManyToOneFindEntityTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.fetching; import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.List; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/NPlusOneLazyFetchingManyToOneFindEntityTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/NPlusOneLazyFetchingManyToOneFindEntityTest.java index 1ff0b4e8f..295ac050a 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/NPlusOneLazyFetchingManyToOneFindEntityTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/NPlusOneLazyFetchingManyToOneFindEntityTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.fetching; import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.List; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/NPlusOneLazyFetchingWithSubselectManyToOneFindEntityTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/NPlusOneLazyFetchingWithSubselectManyToOneFindEntityTest.java index 980b8e598..7f7bb1edd 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/NPlusOneLazyFetchingWithSubselectManyToOneFindEntityTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/NPlusOneLazyFetchingWithSubselectManyToOneFindEntityTest.java @@ -3,13 +3,13 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.annotations.Fetch; import org.hibernate.annotations.FetchMode; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/NPlusOneManyToOneEagerTechingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/NPlusOneManyToOneEagerTechingTest.java index 03665634c..df78d1b9c 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/NPlusOneManyToOneEagerTechingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/NPlusOneManyToOneEagerTechingTest.java @@ -5,7 +5,7 @@ import jakarta.persistence.Id; import jakarta.persistence.ManyToOne; import jakarta.persistence.Table; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.List; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/NPlusOneSQLFetchingFKTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/NPlusOneSQLFetchingFKTest.java index 4fc6bf02c..910a344a0 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/NPlusOneSQLFetchingFKTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/NPlusOneSQLFetchingFKTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.List; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/NamedNativeQueryParameterTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/NamedNativeQueryParameterTest.java index e09591f49..b5a51ebec 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/NamedNativeQueryParameterTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/NamedNativeQueryParameterTest.java @@ -2,14 +2,14 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; import java.util.List; import java.util.stream.LongStream; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/NamedQueryPerformanceTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/NamedQueryPerformanceTest.java index f9d4c276b..98dfc0250 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/NamedQueryPerformanceTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/NamedQueryPerformanceTest.java @@ -13,10 +13,6 @@ public class NamedQueryPerformanceTest extends PlanCacheSizePerformanceTest { public static final String QUERY_NAME_1 = "findPostCommentSummary"; public static final String QUERY_NAME_2 = "findPostComments"; - public NamedQueryPerformanceTest(int planCacheMaxSize) { - super(planCacheMaxSize); - } - @Override public void afterInit() { doInJPA(entityManager -> { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/NativeQueryTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/NativeQueryTest.java index db68a465c..b5ed24d24 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/NativeQueryTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/NativeQueryTest.java @@ -2,14 +2,14 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; import java.util.List; import java.util.stream.LongStream; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/NaturalIdTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/NaturalIdTest.java index b3717aab8..7af10ae0e 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/NaturalIdTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/NaturalIdTest.java @@ -6,7 +6,7 @@ import org.hibernate.annotations.CacheConcurrencyStrategy; import org.hibernate.annotations.NaturalId; import org.hibernate.annotations.NaturalIdCache; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import jakarta.persistence.criteria.CriteriaBuilder; @@ -16,8 +16,8 @@ import java.util.Objects; import java.util.Properties; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/PlanCacheSizePerformanceTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/PlanCacheSizePerformanceTest.java index aeaa9aa08..996eaedde 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/PlanCacheSizePerformanceTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/PlanCacheSizePerformanceTest.java @@ -5,16 +5,18 @@ import com.codahale.metrics.Timer; import com.codahale.metrics.UniformReservoir; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.hibernate.jpa.AvailableHints; -import org.hibernate.query.*; -import org.junit.Ignore; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; - import jakarta.persistence.*; -import jakarta.persistence.Query; -import java.util.*; +import org.hibernate.jpa.AvailableHints; +import org.hibernate.query.NativeQuery; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.Parameter; +import org.junit.jupiter.params.ParameterizedClass; +import org.junit.jupiter.params.provider.ValueSource; + +import java.util.ArrayList; +import java.util.List; +import java.util.Properties; import java.util.concurrent.TimeUnit; import java.util.function.Function; import java.util.stream.LongStream; @@ -22,7 +24,8 @@ /** * @author Vlad Mihalcea */ -@RunWith(Parameterized.class) +@ParameterizedClass +@ValueSource(ints = {1, 100}) public class PlanCacheSizePerformanceTest extends AbstractTest { private MetricRegistry metricRegistry = new MetricRegistry(); @@ -35,19 +38,8 @@ public class PlanCacheSizePerformanceTest extends AbstractTest { .convertDurationsTo(TimeUnit.MICROSECONDS) .build(); - private final int planCacheMaxSize; - - public PlanCacheSizePerformanceTest(int planCacheMaxSize) { - this.planCacheMaxSize = planCacheMaxSize; - } - - @Parameterized.Parameters - public static Collection rdbmsDataSourceProvider() { - List planCacheMaxSizes = new ArrayList<>(); - planCacheMaxSizes.add(new Integer[] {1}); - planCacheMaxSizes.add(new Integer[] {100}); - return planCacheMaxSizes; - } + @Parameter + private int planCacheMaxSize; @Override protected void additionalProperties(Properties properties) { @@ -72,9 +64,8 @@ protected Class[] entities() { @Override - public void init() { + public void afterInit() { metricRegistry.register(getClass().getSimpleName(), timer); - super.init(); int commentsSize = 5; doInJPA(entityManager -> { LongStream.range(0, 50).forEach(i -> { @@ -95,13 +86,13 @@ public void init() { } @Test - @Ignore + @Disabled public void testEntityQueries() { compileQueries(this::getEntityQuery1, this::getEntityQuery2); } @Test - @Ignore + @Disabled public void testNativeQueries() { compileQueries(this::getNativeQuery1, this::getNativeQuery2); } @@ -137,42 +128,45 @@ protected void compileQueries( } protected Query getEntityQuery1(EntityManager entityManager) { - return entityManager.createQuery( - "select new " + - " com.vladmihalcea.book.hpjp.hibernate.fetching.PostCommentSummary( " + - " p.id, p.title, c.review ) " + - "from PostComment c " + - "join c.post p") + return entityManager.createQuery(""" + select new com.vladmihalcea.hpjp.hibernate.fetching.PostCommentSummary( + p.id, p.title, c.review) + from PostComment c + join c.post p + """) .setFirstResult(10) .setMaxResults(20) .setHint(AvailableHints.HINT_FETCH_SIZE, 20); } protected Query getEntityQuery2(EntityManager entityManager) { - return entityManager.createQuery( - "select c " + - "from PostComment c " + - "join fetch c.post p " + - "where p.title like :title" + return entityManager.createQuery(""" + select c + from PostComment c + join fetch c.post p + where p.title like :title + """ ); } protected Query getNativeQuery1(EntityManager entityManager) { - return entityManager.createNativeQuery( - "select p.id, p.title, c.review * " + - "from post_comment c " + - "join post p on p.id = c.post_id ") + return entityManager.createNativeQuery(""" + select p.id, p.title, c.review * + from post_comment c + join post p on p.id = c.post_id + """) .setFirstResult(10) .setMaxResults(20) .setHint(AvailableHints.HINT_FETCH_SIZE, 20); } protected Query getNativeQuery2(EntityManager entityManager) { - return entityManager.createNativeQuery( - "select c.*, p.* " + - "from post_comment c " + - "join post p on p.id = c.post_id " + - "where p.title like :title") + return entityManager.createNativeQuery(""" + select c.*, p.* + from post_comment c + join post p on p.id = c.post_id + where p.title like :title + """) .unwrap(NativeQuery.class) .addEntity(PostComment.class) .addEntity(Post.class); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/PostgreSQLScrollableResultsStreamingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/PostgreSQLScrollableResultsStreamingTest.java index 7b62ed463..680ab7d28 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/PostgreSQLScrollableResultsStreamingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/PostgreSQLScrollableResultsStreamingTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import org.hibernate.Session; import org.hibernate.jpa.AvailableHints; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Column; import jakarta.persistence.Entity; @@ -19,7 +19,7 @@ import java.util.stream.Collectors; import java.util.stream.LongStream; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/ProjectionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/ProjectionTest.java index 525354ea7..c1eba7ab3 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/ProjectionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/ProjectionTest.java @@ -4,14 +4,14 @@ import io.hypersistence.utils.hibernate.type.util.ClassImportIntegrator; import org.hibernate.jpa.AvailableHints; import org.hibernate.jpa.boot.spi.IntegratorProvider; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.*; import java.util.stream.LongStream; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/detector/AssociationFetchingEventListenerIntegrator.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/detector/AssociationFetchingEventListenerIntegrator.java index ce82d6dfa..0a226c568 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/detector/AssociationFetchingEventListenerIntegrator.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/detector/AssociationFetchingEventListenerIntegrator.java @@ -1,6 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.fetching.detector; import org.hibernate.boot.Metadata; +import org.hibernate.boot.spi.BootstrapContext; import org.hibernate.engine.spi.SessionFactoryImplementor; import org.hibernate.event.service.spi.EventListenerRegistry; import org.hibernate.event.spi.EventType; @@ -15,13 +16,8 @@ public class AssociationFetchingEventListenerIntegrator implements Integrator { public static final AssociationFetchingEventListenerIntegrator INSTANCE = new AssociationFetchingEventListenerIntegrator(); @Override - public void integrate( - Metadata metadata, - SessionFactoryImplementor sessionFactory, - SessionFactoryServiceRegistry serviceRegistry) { - - final EventListenerRegistry eventListenerRegistry = - serviceRegistry.getService(EventListenerRegistry.class); + public void integrate(Metadata metadata, BootstrapContext bootstrapContext, SessionFactoryImplementor sessionFactory) { + final EventListenerRegistry eventListenerRegistry = sessionFactory.getServiceRegistry().getService(EventListenerRegistry.class); eventListenerRegistry.prependListeners( EventType.LOAD, diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/detector/EagerFetchingDetectorTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/detector/EagerFetchingDetectorTest.java index b841eb0a0..d63c4c1be 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/detector/EagerFetchingDetectorTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/detector/EagerFetchingDetectorTest.java @@ -7,8 +7,8 @@ import org.hibernate.cfg.StatisticsSettings; import org.hibernate.integrator.spi.Integrator; import org.hibernate.stat.internal.StatisticsInitiator; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; @@ -16,7 +16,7 @@ import java.util.Map; import java.util.Properties; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * @author Vlad Mihalcea @@ -83,7 +83,7 @@ protected void afterInit() { } @Test - @Ignore + @Disabled public void testFindPostComment() { doInJPA(entityManager -> { AssociationFetch.Context context = AssociationFetch.Context.get(entityManager); @@ -102,7 +102,7 @@ public void testFindPostComment() { } @Test - @Ignore + @Disabled public void testFindPostCommentDetails() { doInJPA(entityManager -> { AssociationFetch.Context context = AssociationFetch.Context.get(entityManager); @@ -126,7 +126,7 @@ public void testFindPostCommentDetails() { } @Test - @Ignore + @Disabled public void testJPQLPostCommentDetails() { doInJPA(entityManager -> { AssociationFetch.Context context = AssociationFetch.Context.get(entityManager); @@ -155,7 +155,7 @@ public void testJPQLPostCommentDetails() { } @Test - @Ignore + @Disabled public void testJPQLPostCommentDetailsJoinFetchEagerAssociations() { doInJPA(entityManager -> { AssociationFetch.Context context = AssociationFetch.Context.get(entityManager); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/file/PostgreSQLCopyQueryResultSetToFileTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/file/PostgreSQLCopyQueryResultSetToFileTest.java index dfd774dab..117f3d075 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/file/PostgreSQLCopyQueryResultSetToFileTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/file/PostgreSQLCopyQueryResultSetToFileTest.java @@ -6,7 +6,7 @@ import jakarta.persistence.*; import org.hibernate.cfg.AvailableSettings; import org.hibernate.jpa.AvailableHints; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.testcontainers.shaded.org.apache.commons.io.FileUtils; import java.io.IOException; @@ -19,7 +19,7 @@ import java.util.concurrent.TimeUnit; import java.util.stream.Stream; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/maxrows/MySQLSetMaxRowsTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/maxrows/MySQLSetMaxRowsTest.java index 9a575c7f9..2e8659870 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/maxrows/MySQLSetMaxRowsTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/maxrows/MySQLSetMaxRowsTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.util.AbstractMySQLIntegrationTest; import org.hibernate.Session; import org.hibernate.annotations.CreationTimestamp; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Column; import jakarta.persistence.Entity; @@ -16,7 +16,7 @@ import java.util.Properties; import java.util.stream.LongStream; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/maxrows/OracleSetMaxRowsTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/maxrows/OracleSetMaxRowsTest.java index 7cb4819a8..eaf172718 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/maxrows/OracleSetMaxRowsTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/maxrows/OracleSetMaxRowsTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.util.AbstractOracleIntegrationTest; import org.hibernate.Session; import org.hibernate.annotations.CreationTimestamp; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Column; import jakarta.persistence.Entity; @@ -15,8 +15,8 @@ import java.util.stream.Collectors; import java.util.stream.LongStream; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/maxrows/PostgreSQLSetMaxRowsTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/maxrows/PostgreSQLSetMaxRowsTest.java index a61a54202..350c49b7d 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/maxrows/PostgreSQLSetMaxRowsTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/maxrows/PostgreSQLSetMaxRowsTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import org.hibernate.Session; import org.hibernate.annotations.CreationTimestamp; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Column; import jakarta.persistence.Entity; @@ -16,7 +16,7 @@ import java.util.Properties; import java.util.stream.LongStream; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/maxrows/SQLServerSetMaxRowsTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/maxrows/SQLServerSetMaxRowsTest.java index 753020614..a5feb6cfb 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/maxrows/SQLServerSetMaxRowsTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/maxrows/SQLServerSetMaxRowsTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.util.AbstractSQLServerIntegrationTest; import org.hibernate.Session; import org.hibernate.annotations.CreationTimestamp; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Column; import jakarta.persistence.Entity; @@ -15,7 +15,7 @@ import java.util.stream.Collectors; import java.util.stream.LongStream; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/multiple/CriteriaAPIFetchingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/multiple/CriteriaAPIFetchingTest.java index 6a089cca2..0632bff5a 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/multiple/CriteriaAPIFetchingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/multiple/CriteriaAPIFetchingTest.java @@ -3,13 +3,13 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import jakarta.persistence.*; import jakarta.persistence.criteria.*; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.List; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/multiple/EagerFetchingMultipleBagLazyCollectionOptionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/multiple/EagerFetchingMultipleBagLazyCollectionOptionTest.java deleted file mode 100644 index dab0546f2..000000000 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/multiple/EagerFetchingMultipleBagLazyCollectionOptionTest.java +++ /dev/null @@ -1,216 +0,0 @@ -package com.vladmihalcea.hpjp.hibernate.fetching.multiple; - -import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; -import org.hibernate.annotations.LazyCollection; -import org.hibernate.annotations.LazyCollectionOption; -import org.junit.Test; - -import jakarta.persistence.*; -import java.util.ArrayList; -import java.util.List; -import java.util.Properties; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; - -/** - * @author Vlad Mihalcea - */ -public class EagerFetchingMultipleBagLazyCollectionOptionTest extends AbstractPostgreSQLIntegrationTest { - - public static final int POST_COUNT = 50; - public static final int POST_COMMENT_COUNT = 20; - public static final int TAG_COUNT = 10; - - @Override - protected Class[] entities() { - return new Class[]{ - Post.class, - PostComment.class, - Tag.class - }; - } - - @Override - protected void additionalProperties(Properties properties) { - properties.put("hibernate.jdbc.batch_size", "50"); - properties.put("hibernate.order_inserts", "true"); - properties.put("hibernate.order_updates", "true"); - } - - @Override - public void afterInit() { - doInJPA(entityManager -> { - - List tags = new ArrayList<>(); - - for (long i = 1; i <= TAG_COUNT; i++) { - Tag tag = new Tag() - .setId(i) - .setName(String.format("Tag nr. %d", i)); - - entityManager.persist(tag); - tags.add(tag); - } - - long commentId = 0; - - for (long postId = 1; postId <= POST_COUNT; postId++) { - Post post = new Post() - .setId(postId) - .setTitle(String.format("Post nr. %d", postId)); - - - for (long i = 0; i < POST_COMMENT_COUNT; i++) { - post.addComment( - new PostComment() - .setId(++commentId) - .setReview("Excellent!") - ); - } - - for (int i = 0; i < TAG_COUNT; i++) { - post.getTags().add(tags.get(i)); - } - - entityManager.persist(post); - } - }); - } - - @Test - public void testFind() { - doInJPA(entityManager -> { - Post post = entityManager.find( - Post.class, - 1L - ); - }); - } - - @Entity(name = "Post") - @Table(name = "post") - public static class Post { - - @Id - private Long id; - - private String title; - - @OneToMany(mappedBy = "post", cascade = CascadeType.ALL, orphanRemoval = true) - @LazyCollection(LazyCollectionOption.FALSE) - private List comments = new ArrayList<>(); - - @ManyToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE}) - @JoinTable(name = "post_tag", - joinColumns = @JoinColumn(name = "post_id"), - inverseJoinColumns = @JoinColumn(name = "tag_id") - ) - @LazyCollection(LazyCollectionOption.FALSE) - private List tags = new ArrayList<>(); - - public Long getId() { - return id; - } - - public Post setId(Long id) { - this.id = id; - return this; - } - - public String getTitle() { - return title; - } - - public Post setTitle(String title) { - this.title = title; - return this; - } - - public List getComments() { - return comments; - } - - public Post addComment(PostComment comment) { - comments.add(comment); - comment.setPost(this); - return this; - } - - public List getTags() { - return tags; - } - - public void setTags(List tags) { - this.tags = tags; - } - } - - @Entity(name = "PostComment") - @Table(name = "post_comment") - public static class PostComment { - - @Id - private Long id; - - @ManyToOne(fetch = FetchType.LAZY) - private Post post; - - private String review; - - public Long getId() { - return id; - } - - public PostComment setId(Long id) { - this.id = id; - return this; - } - - public Post getPost() { - return post; - } - - public PostComment setPost(Post post) { - this.post = post; - return this; - } - - public String getReview() { - return review; - } - - public PostComment setReview(String review) { - this.review = review; - return this; - } - } - - @Entity(name = "Tag") - @Table(name = "tag") - public static class Tag { - - @Id - private Long id; - - private String name; - - public Long getId() { - return id; - } - - public Tag setId(Long id) { - this.id = id; - return this; - } - - public String getName() { - return name; - } - - public Tag setName(String name) { - this.name = name; - return this; - } - } -} diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/multiple/EagerFetchingMultipleBagTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/multiple/EagerFetchingMultipleBagTest.java index bd1aa3f3d..5c2ddccee 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/multiple/EagerFetchingMultipleBagTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/multiple/EagerFetchingMultipleBagTest.java @@ -11,15 +11,15 @@ import jakarta.persistence.CascadeType; import jakarta.persistence.*; import org.hibernate.loader.MultipleBagFetchException; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.List; import java.util.Properties; import static com.blazebit.persistence.view.FetchStrategy.MULTISET; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/multiple/EagerFetchingMultipleSetTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/multiple/EagerFetchingMultipleSetTest.java index bac64cc42..07241c1e2 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/multiple/EagerFetchingMultipleSetTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/multiple/EagerFetchingMultipleSetTest.java @@ -2,13 +2,13 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import io.hypersistence.utils.hibernate.query.SQLExtractor; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.*; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/multiple/EagerFetchingMultipleToOneTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/multiple/EagerFetchingMultipleToOneTest.java index b5920b0cb..746cf5edd 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/multiple/EagerFetchingMultipleToOneTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/multiple/EagerFetchingMultipleToOneTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.fetching.multiple; import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; @@ -9,7 +9,7 @@ import java.util.List; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/multiple/MultiLevelCollectionFetchingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/multiple/MultiLevelCollectionFetchingTest.java index 50c137713..db1f28ac9 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/multiple/MultiLevelCollectionFetchingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/multiple/MultiLevelCollectionFetchingTest.java @@ -2,13 +2,13 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import jakarta.persistence.*; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.List; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/pagination/FailOnPaginationWithCollectionFetchTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/pagination/FailOnPaginationWithCollectionFetchTest.java index 7bfddb521..591c653b6 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/pagination/FailOnPaginationWithCollectionFetchTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/pagination/FailOnPaginationWithCollectionFetchTest.java @@ -6,7 +6,7 @@ import jakarta.persistence.criteria.CriteriaQuery; import jakarta.persistence.criteria.ParameterExpression; import jakarta.persistence.criteria.Root; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.Timestamp; import java.time.LocalDateTime; @@ -14,8 +14,8 @@ import java.util.Properties; import java.util.stream.LongStream; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/pagination/PaginationTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/pagination/PaginationTest.java index 09761e070..bfedea843 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/pagination/PaginationTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/pagination/PaginationTest.java @@ -7,8 +7,8 @@ import org.hibernate.cfg.AvailableSettings; import org.hibernate.jpa.AvailableHints; import org.hibernate.query.NativeQuery; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import java.sql.Timestamp; import java.time.LocalDateTime; @@ -16,8 +16,8 @@ import java.util.Properties; import java.util.stream.LongStream; -import static org.junit.Assert.assertArrayEquals; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertArrayEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea @@ -437,7 +437,7 @@ where p.id in ( } @Test - @Ignore("Still not working on Hibernate 6.3") + @Disabled("Still not working on Hibernate 6.3") public void testFetchAndPaginateUsingDenseRankJPQLWithCTE() { doInJPA(entityManager -> { List posts = entityManager.createQuery(""" diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/pagination/blaze/BlazeKeysetPaginationTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/pagination/blaze/BlazeKeysetPaginationTest.java index d2617b032..647a3365c 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/pagination/blaze/BlazeKeysetPaginationTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/fetching/pagination/blaze/BlazeKeysetPaginationTest.java @@ -10,7 +10,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; import org.hibernate.cfg.AvailableSettings; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.EntityManagerFactory; import java.sql.Timestamp; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/AlwaysFlushTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/AlwaysFlushTest.java index 5b7363b13..1224d14c7 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/AlwaysFlushTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/AlwaysFlushTest.java @@ -7,11 +7,11 @@ import org.hibernate.query.NativeQuery; import org.hibernate.transform.Transformers; import org.jboss.logging.Logger; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/BatchProcessingArticleTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/BatchProcessingArticleTest.java index 430ad0446..f3c59cd0b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/BatchProcessingArticleTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/BatchProcessingArticleTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.flushing; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.Properties; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/BatchProcessingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/BatchProcessingTest.java index 0b027a9f7..354680deb 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/BatchProcessingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/BatchProcessingTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.flushing; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.Properties; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/BytecodeEnhancementDirtyCheckingPerformanceTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/BytecodeEnhancementDirtyCheckingPerformanceTest.java index caf4d5b28..7c9866601 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/BytecodeEnhancementDirtyCheckingPerformanceTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/BytecodeEnhancementDirtyCheckingPerformanceTest.java @@ -8,16 +8,15 @@ import com.vladmihalcea.hpjp.hibernate.forum.PostDetails; import com.vladmihalcea.hpjp.hibernate.forum.Tag; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.hibernate.EmptyInterceptor; +import jakarta.persistence.EntityManager; import org.hibernate.Interceptor; import org.hibernate.type.Type; -import org.junit.Ignore; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.Parameter; +import org.junit.jupiter.params.ParameterizedClass; +import org.junit.jupiter.params.provider.ValueSource; -import jakarta.persistence.EntityManager; -import java.io.Serializable; import java.util.*; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @@ -25,7 +24,8 @@ /** * @author Vlad Mihalcea */ -@RunWith(Parameterized.class) +@ParameterizedClass +@ValueSource(ints = {5, 10, 20, 50, 100}) public class BytecodeEnhancementDirtyCheckingPerformanceTest extends AbstractTest { private MetricRegistry metricRegistry = new MetricRegistry(); @@ -33,30 +33,16 @@ public class BytecodeEnhancementDirtyCheckingPerformanceTest extends AbstractTes private Timer timer = metricRegistry.timer(getClass().getSimpleName()); private Slf4jReporter logReporter = Slf4jReporter - .forRegistry(metricRegistry) - .outputTo(LOGGER) - .build(); + .forRegistry(metricRegistry) + .outputTo(LOGGER) + .build(); + @Parameter private int entityCount = 1; private int iterationCount = 1000; private List postIds = new ArrayList<>(); private boolean enableMetrics = false; - public BytecodeEnhancementDirtyCheckingPerformanceTest(int entityCount) { - this.entityCount = entityCount; - } - - @Parameterized.Parameters - public static Collection rdbmsDataSourceProvider() { - List counts = new ArrayList<>(); - counts.add(new Integer[] {5}); - counts.add(new Integer[] {10}); - counts.add(new Integer[] {20}); - counts.add(new Integer[] {50}); - counts.add(new Integer[] {100}); - return counts; - } - @Override protected Class[] entities() { return new Class[] { @@ -69,7 +55,7 @@ protected Class[] entities() { @Override protected Interceptor interceptor() { - return new EmptyInterceptor() { + return new Interceptor() { private Long startNanos; @Override @@ -78,7 +64,7 @@ public void preFlush(Iterator entities) { } @Override - public boolean onFlushDirty(Object entity, Serializable id, Object[] currentState, Object[] previousState, String[] propertyNames, Type[] types) { + public boolean onFlushDirty(Object entity, Object id, Object[] currentState, Object[] previousState, String[] propertyNames, Type[] types) { if (enableMetrics) { timer.update(System.nanoTime() - startNanos, TimeUnit.NANOSECONDS); } @@ -97,8 +83,7 @@ protected Properties properties() { } @Override - public void init() { - super.init(); + public void afterInit() { doInJPA(entityManager -> { for (int i = 0; i < entityCount; i++) { Post post = new Post() @@ -143,7 +128,7 @@ public void init() { } @Test - @Ignore + @Disabled public void testDirtyChecking() { doInJPA(entityManager -> { List posts = posts(entityManager); @@ -170,19 +155,20 @@ public void testDirtyChecking() { } private List posts(EntityManager entityManager) { - return entityManager.createQuery( - "select pc " + - "from PostComment pc " + - "join fetch pc.post p " + - "join fetch p.tags " + - "join fetch p.details " + - "where p.id in :ids", PostComment.class) - .setParameter("ids", postIds) - .getResultList() - .stream() - .map(PostComment::getPost) - .distinct() - .collect(Collectors.toList()); + return entityManager.createQuery(""" + select pc + from PostComment pc + join fetch pc.post p + join fetch p.tags + join fetch p.details + where p.id in :ids + """, PostComment.class) + .setParameter("ids", postIds) + .getResultList() + .stream() + .map(PostComment::getPost) + .distinct() + .collect(Collectors.toList()); } private void modifyEntities(Post post, int i) { @@ -194,5 +180,4 @@ private void modifyEntities(Post post, int i) { post.getDetails().setCreatedOn(new Date(i)); post.getComments().get(0).setReview(value); } - } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/CommitFlushTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/CommitFlushTest.java index 7bc0a63a3..1a575fcab 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/CommitFlushTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/CommitFlushTest.java @@ -3,12 +3,12 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider; import org.jboss.logging.Logger; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.FlushModeType; import static com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider.Post; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/DefaultDirtyCheckingPerformanceTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/DefaultDirtyCheckingPerformanceTest.java index 5849dd183..5481aa467 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/DefaultDirtyCheckingPerformanceTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/DefaultDirtyCheckingPerformanceTest.java @@ -4,16 +4,15 @@ import com.codahale.metrics.Slf4jReporter; import com.codahale.metrics.Timer; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.hibernate.EmptyInterceptor; +import jakarta.persistence.*; import org.hibernate.Interceptor; import org.hibernate.type.Type; -import org.junit.Ignore; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.Parameter; +import org.junit.jupiter.params.ParameterizedClass; +import org.junit.jupiter.params.provider.ValueSource; -import jakarta.persistence.*; -import java.io.Serializable; import java.util.*; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @@ -21,7 +20,8 @@ /** * @author Vlad Mihalcea */ -@RunWith(Parameterized.class) +@ParameterizedClass +@ValueSource(ints = {5, 10, 20, 50, 100}) public class DefaultDirtyCheckingPerformanceTest extends AbstractTest { private MetricRegistry metricRegistry = new MetricRegistry(); @@ -33,26 +33,12 @@ public class DefaultDirtyCheckingPerformanceTest extends AbstractTest { .outputTo(LOGGER) .build(); + @Parameter private int entityCount = 1; private int iterationCount = 1000; private List postIds = new ArrayList<>(); private boolean enableMetrics = false; - public DefaultDirtyCheckingPerformanceTest(int entityCount) { - this.entityCount = entityCount; - } - - @Parameterized.Parameters - public static Collection rdbmsDataSourceProvider() { - List counts = new ArrayList<>(); - counts.add(new Integer[] {5}); - counts.add(new Integer[] {10}); - counts.add(new Integer[] {20}); - counts.add(new Integer[] {50}); - counts.add(new Integer[] {100}); - return counts; - } - @Override protected Class[] entities() { return new Class[] { @@ -65,7 +51,7 @@ protected Class[] entities() { @Override protected Interceptor interceptor() { - return new EmptyInterceptor() { + return new Interceptor() { private Long startNanos; @Override @@ -74,7 +60,7 @@ public void preFlush(Iterator entities) { } @Override - public boolean onFlushDirty(Object entity, Serializable id, Object[] currentState, Object[] previousState, String[] propertyNames, Type[] types) { + public boolean onFlushDirty(Object entity, Object id, Object[] currentState, Object[] previousState, String[] propertyNames, Type[] types) { if (enableMetrics) { timer.update(System.nanoTime() - startNanos, TimeUnit.NANOSECONDS); } @@ -93,8 +79,7 @@ protected Properties properties() { } @Override - public void init() { - super.init(); + public void afterInit() { doInJPA(entityManager -> { for (int i = 0; i < entityCount; i++) { Post post = new Post("JPA with Hibernate"); @@ -138,7 +123,7 @@ public void init() { } @Test - @Ignore + @Disabled public void testDirtyChecking() { doInJPA(entityManager -> { List posts = posts(entityManager); @@ -165,13 +150,14 @@ public void testDirtyChecking() { } private List posts(EntityManager entityManager) { - return entityManager.createQuery( - "select pc " + - "from PostComment pc " + - "join fetch pc.post p " + - "join fetch p.tags " + - "join fetch p.details " + - "where p.id in :ids", PostComment.class) + return entityManager.createQuery(""" + select pc + from PostComment pc + join fetch pc.post p + join fetch p.tags + join fetch p.details + where p.id in :ids + """, PostComment.class) .setParameter("ids", postIds) .getResultList() .stream() diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/HibernateAlwaysFlushConfigurationPropertyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/HibernateAlwaysFlushSessionBuilderTest.java similarity index 73% rename from core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/HibernateAlwaysFlushConfigurationPropertyTest.java rename to core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/HibernateAlwaysFlushSessionBuilderTest.java index 146a18cb6..ea3e322e8 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/HibernateAlwaysFlushConfigurationPropertyTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/HibernateAlwaysFlushSessionBuilderTest.java @@ -2,32 +2,25 @@ import org.hibernate.FlushMode; import org.hibernate.cfg.AvailableSettings; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea */ -public class HibernateAlwaysFlushConfigurationPropertyTest extends JPAAutoFlushTest { +public class HibernateAlwaysFlushSessionBuilderTest extends JPAAutoFlushTest { @Override protected boolean nativeHibernateSessionFactoryBootstrap() { return true; } - @Override - protected void additionalProperties(Properties properties) { - properties.setProperty( - AvailableSettings.FLUSH_MODE, FlushMode.ALWAYS.name() - ); - } - @Test public void testFlushAutoNativeSQL() { - doInJPA(entityManager -> { + doInHibernate(entityManager -> { assertEquals( 0, ((Number) @@ -51,6 +44,8 @@ SELECT COUNT(*) .getSingleResult()).intValue(); assertEquals(1, postCount); + }, sessionBuilder -> { + sessionBuilder.flushMode(FlushMode.ALWAYS); }); } } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/HibernateAutoFlushTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/HibernateAutoFlushTest.java index dff3ed10b..2da468ce6 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/HibernateAutoFlushTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/HibernateAutoFlushTest.java @@ -2,9 +2,9 @@ import org.hibernate.FlushMode; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/HibernateDeleteEntityTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/HibernateDeleteEntityTest.java index f42e04a4c..db2ea1e94 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/HibernateDeleteEntityTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/HibernateDeleteEntityTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; @@ -38,7 +38,7 @@ public void test() { Post post = new Post(); post.setId(1L); - entityManager.unwrap(Session.class).delete(post); + entityManager.remove(post); }); } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/HibernateSaveSequenceTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/HibernateSaveSequenceTest.java index f14f6eeb7..2ce2ce66b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/HibernateSaveSequenceTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/HibernateSaveSequenceTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.flushing; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; @@ -17,16 +17,14 @@ protected Class[] entities() { }; } - @Test public void testId() { - doInHibernate(session -> { Post post = new Post(); post.setTitle("High-Performance Java Persistence"); - Long identifier = (Long) session.save(post); - LOGGER.info("The post entity identifier is {}", identifier); + session.persist(post); + LOGGER.info("The post entity identifier is {}", post.id); LOGGER.info("Flush Persistence Context"); session.flush(); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/JPAAutoFlushTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/JPAAutoFlushTest.java index 9be873fcb..2ee40a91c 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/JPAAutoFlushTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/JPAAutoFlushTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.Session; import org.hibernate.annotations.NaturalId; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.Date; @@ -11,7 +11,7 @@ import java.util.List; import java.util.Set; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/JPARemoveEntityTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/JPARemoveEntityTest.java index a2c8177b8..e18a18046 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/JPARemoveEntityTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/JPARemoveEntityTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.flushing; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Entity; import jakarta.persistence.Id; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/ManualFlushTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/ManualFlushTest.java index 2470517df..547ffdfa8 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/ManualFlushTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/ManualFlushTest.java @@ -5,10 +5,10 @@ import org.hibernate.FlushMode; import org.hibernate.Session; import org.jboss.logging.Logger; -import org.junit.Test; +import org.junit.jupiter.api.Test; import static com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider.Post; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/PersistIdentityTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/PersistIdentityTest.java index bf10b14e4..fe8d2c6a4 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/PersistIdentityTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/PersistIdentityTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.flushing; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/PersistSequenceTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/PersistSequenceTest.java index 4cae4b5dc..c54721479 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/PersistSequenceTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/PersistSequenceTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.flushing; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/ReadOnlyQueryTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/ReadOnlyQueryTest.java index c55b99027..9b72a7f76 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/ReadOnlyQueryTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/ReadOnlyQueryTest.java @@ -1,17 +1,19 @@ package com.vladmihalcea.hpjp.hibernate.flushing; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.hibernate.Session; -import org.hibernate.annotations.QueryHints; -import org.junit.Test; - import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.Id; import jakarta.persistence.Table; +import org.hibernate.Session; +import org.hibernate.jpa.HibernateHints; +import org.junit.jupiter.api.Test; + import java.util.List; -import static org.junit.Assert.assertFalse; +import org.hibernate.jpa.HibernateHints.*; + +import static org.junit.jupiter.api.Assertions.assertFalse; /** * @author Vlad Mihalcea @@ -26,8 +28,7 @@ protected Class[] entities() { } @Override - public void init() { - super.init(); + public void afterInit() { doInJPA(entityManager -> { Post post = new Post(); post.setTitle("High-Performance Java Persistence"); @@ -42,7 +43,7 @@ public void testReadOnly() { select p from Post p """, Post.class) - .setHint(QueryHints.READ_ONLY, true) + .setHint(HibernateHints.HINT_READ_ONLY, true) .getResultList(); }); } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/RefreshTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/RefreshTest.java index 5b1197011..26078e70d 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/RefreshTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/RefreshTest.java @@ -1,17 +1,16 @@ package com.vladmihalcea.hpjp.hibernate.flushing; import com.vladmihalcea.hpjp.util.AbstractTest; +import jakarta.persistence.*; import org.hibernate.annotations.Generated; -import org.hibernate.annotations.GenerationTime; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import jakarta.persistence.*; import java.util.ArrayList; import java.util.List; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; +import static org.hibernate.generator.EventType.INSERT; +import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertThrows; /** * @author Vlad Mihalcea @@ -26,8 +25,7 @@ protected Class[] entities() { }; } @Override - public void init() { - super.init(); + public void afterInit() { doInJPA(entityManager -> { Post post = new Post(); post.setId(1L); @@ -39,7 +37,7 @@ public void init() { }); } - @Test(expected = EntityNotFoundException.class) + @Test public void testChildEntity() { doInJPA(entityManager -> { Post post = entityManager.find(Post.class, 1L); @@ -59,7 +57,7 @@ public void testChildEntity() { comment.setReview("Great!"); post.addComment(comment); - entityManager.refresh(post); + assertThrows(IllegalArgumentException.class, ()-> entityManager.refresh(post)); }); doInJPA(entityManager -> { Post post = entityManager.find(Post.class, 1L); @@ -70,7 +68,7 @@ public void testChildEntity() { comment.setReview("Great!"); post.addComment(comment); - entityManager.refresh(post); + assertThrows(IllegalArgumentException.class, ()-> entityManager.refresh(post)); }); } @@ -93,7 +91,7 @@ public static class Post { private String title; @Column(name = "created_on", columnDefinition = "timestamp default current_timestamp") - @Generated(GenerationTime.INSERT) + @Generated(event = {INSERT}) private String createdOn; @Version diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/SessionAlwaysFlushTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/SessionAlwaysFlushTest.java index eb7d7fb6c..627e1da80 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/SessionAlwaysFlushTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/SessionAlwaysFlushTest.java @@ -6,12 +6,12 @@ import org.hibernate.Session; import org.hibernate.transform.Transformers; import org.jboss.logging.Logger; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.math.BigInteger; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/order/FlushOrderBidirectionalOneToManyMergeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/order/FlushOrderBidirectionalOneToManyMergeTest.java index b4f81dcd9..ab905b347 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/order/FlushOrderBidirectionalOneToManyMergeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/order/FlushOrderBidirectionalOneToManyMergeTest.java @@ -3,14 +3,14 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.annotations.NaturalId; import org.hibernate.jpa.AvailableHints; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea @@ -46,7 +46,7 @@ protected void afterInit() { } @Test - @Ignore + @Disabled public void testPostMergeFlushOrderFail() { Post post = fetchPostWithComments(1L); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/order/FlushOrderTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/order/FlushOrderTest.java index a750d5fff..30b7b30b9 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/order/FlushOrderTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/flushing/order/FlushOrderTest.java @@ -5,13 +5,13 @@ import org.hibernate.annotations.NaturalId; import org.hibernate.engine.spi.EntityEntry; import org.hibernate.engine.spi.SharedSessionContractImplementor; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * @author Vlad Mihalcea @@ -38,7 +38,7 @@ public void afterInit() { } @Test - @Ignore + @Disabled public void testOperationOrder() { doInJPA(entityManager -> { Post post = entityManager.find(Post.class, 1L); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/AbstractPooledSequenceIdentifierTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/AbstractPooledSequenceIdentifierTest.java index 4cefed68a..caee61e95 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/AbstractPooledSequenceIdentifierTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/AbstractPooledSequenceIdentifierTest.java @@ -8,7 +8,7 @@ import java.util.List; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; public abstract class AbstractPooledSequenceIdentifierTest extends AbstractTest { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/AssignedIdentifierTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/AssignedIdentifierTest.java index 7487b4926..cd78e6fc6 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/AssignedIdentifierTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/AssignedIdentifierTest.java @@ -2,11 +2,11 @@ import com.vladmihalcea.hpjp.util.AbstractMySQLIntegrationTest; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; public class AssignedIdentifierTest extends AbstractMySQLIntegrationTest { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/AutoIdentifierMySQLTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/AutoIdentifierMySQLTest.java index cbb81ad58..bb1e80b2b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/AutoIdentifierMySQLTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/AutoIdentifierMySQLTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.identifier; import com.vladmihalcea.hpjp.util.AbstractMySQLIntegrationTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/BaseClassIdentifierMySQLTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/BaseClassIdentifierMySQLTest.java index fe32aecf0..24098398b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/BaseClassIdentifierMySQLTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/BaseClassIdentifierMySQLTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.util.AbstractMySQLIntegrationTest; import org.hibernate.Session; import org.hibernate.annotations.NaturalId; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.*; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/EntityIdentifierCockroachDBTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/EntityIdentifierCockroachDBTest.java index 2784244ed..ed8e87ec4 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/EntityIdentifierCockroachDBTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/EntityIdentifierCockroachDBTest.java @@ -2,14 +2,14 @@ import com.vladmihalcea.hpjp.util.AbstractCockroachDBIntegrationTest; import jakarta.persistence.*; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.LocalDate; import java.time.ZoneId; import java.util.Date; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; public class EntityIdentifierCockroachDBTest extends AbstractCockroachDBIntegrationTest { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/EntityIdentifierTimestampCockroachDBTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/EntityIdentifierTimestampCockroachDBTest.java index 6bc4985f7..5eef97662 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/EntityIdentifierTimestampCockroachDBTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/EntityIdentifierTimestampCockroachDBTest.java @@ -3,13 +3,13 @@ import com.vladmihalcea.hpjp.util.AbstractCockroachDBIntegrationTest; import jakarta.persistence.*; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.PreparedStatement; import java.sql.Timestamp; import java.util.Date; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; public class EntityIdentifierTimestampCockroachDBTest extends AbstractCockroachDBIntegrationTest { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/HiloIdentifierTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/HiloIdentifierTest.java index c3e9b4432..2e66dd693 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/HiloIdentifierTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/HiloIdentifierTest.java @@ -2,10 +2,11 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; +import io.hypersistence.utils.hibernate.id.SequenceOptimizer; import jakarta.persistence.*; import org.hibernate.annotations.GenericGenerator; import org.hibernate.annotations.Parameter; -import org.junit.Test; +import org.junit.jupiter.api.Test; public class HiloIdentifierTest extends AbstractTest { @@ -43,16 +44,11 @@ public void testHiloIdentifierGenerator() { public static class Post { @Id - @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "post_sequence") - @GenericGenerator( - name = "post_sequence", - strategy = "sequence", - parameters = { - @Parameter(name = "sequence_name", value = "post_sequence"), - @Parameter(name = "initial_value", value = "1"), - @Parameter(name = "increment_size", value = "3"), - @Parameter(name = "optimizer", value = "hilo") - } + @GeneratedValue(strategy = GenerationType.SEQUENCE) + @SequenceOptimizer( + sequenceName = "post_sequence", + initialValue = 3, + optimizer = "hilo" ) private Long id; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/HiloPooledDefaultSwitchTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/HiloPooledDefaultSwitchTest.java index 0b57e0fc6..d188573e6 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/HiloPooledDefaultSwitchTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/HiloPooledDefaultSwitchTest.java @@ -2,12 +2,12 @@ import com.vladmihalcea.hpjp.util.exception.ExceptionUtil; import org.hibernate.cfg.AvailableSettings; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Properties; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; public class HiloPooledDefaultSwitchTest { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/HiloPooledMigrationTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/HiloPooledMigrationTest.java index 4b1f7f28f..fbcf4b1f3 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/HiloPooledMigrationTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/HiloPooledMigrationTest.java @@ -1,15 +1,15 @@ package com.vladmihalcea.hpjp.hibernate.identifier; import org.hibernate.cfg.AvailableSettings; -import org.junit.Test; +import org.junit.jupiter.api.Test; import javax.sql.DataSource; import java.sql.Connection; import java.sql.Statement; import java.util.Properties; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; public class HiloPooledMigrationTest { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/MySQLIdentityIdentifierTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/MySQLIdentityIdentifierTest.java index af92256fd..182bddd60 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/MySQLIdentityIdentifierTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/MySQLIdentityIdentifierTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractMySQLIntegrationTest; import jakarta.persistence.*; -import org.junit.Test; +import org.junit.jupiter.api.Test; public class MySQLIdentityIdentifierTest extends AbstractMySQLIntegrationTest { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/MySQLNativeIdentifierTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/MySQLNativeIdentifierTest.java index 985e24af2..e29946d1c 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/MySQLNativeIdentifierTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/MySQLNativeIdentifierTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractMySQLIntegrationTest; import org.hibernate.annotations.GenericGenerator; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/OracleRowIdTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/OracleRowIdTest.java index 19420aa6a..7ab5974a7 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/OracleRowIdTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/OracleRowIdTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.util.AbstractOracleIntegrationTest; import jakarta.persistence.*; import org.hibernate.annotations.RowId; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.List; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/PooledDefaultSequenceIdentifierTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/PooledDefaultSequenceIdentifierTest.java index 38b65e57e..5e9aae5db 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/PooledDefaultSequenceIdentifierTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/PooledDefaultSequenceIdentifierTest.java @@ -1,6 +1,6 @@ package com.vladmihalcea.hpjp.hibernate.identifier; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/PooledLoSequenceIdentifierTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/PooledLoSequenceIdentifierTest.java index 2c6894b31..12acdefe1 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/PooledLoSequenceIdentifierTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/PooledLoSequenceIdentifierTest.java @@ -1,16 +1,15 @@ package com.vladmihalcea.hpjp.hibernate.identifier; +import io.hypersistence.utils.hibernate.id.SequenceOptimizer; import jakarta.persistence.*; -import org.hibernate.annotations.GenericGenerator; -import org.hibernate.annotations.Parameter; -import org.junit.Test; +import org.junit.jupiter.api.Test; public class PooledLoSequenceIdentifierTest extends AbstractPooledSequenceIdentifierTest { @Override protected Class[] entities() { return new Class[] { - Post.class + Post.class }; } @@ -29,16 +28,12 @@ public void testOptimizer() { public static class Post { @Id - @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "pooled-lo") - @GenericGenerator( - name = "pooled-lo", - strategy = "sequence", - parameters = { - @Parameter(name = "sequence_name", value = "post_sequence"), - @Parameter(name = "initial_value", value = "1"), - @Parameter(name = "increment_size", value = "3"), - @Parameter(name = "optimizer", value = "pooled-lo") - } + @GeneratedValue(strategy = GenerationType.SEQUENCE) + @SequenceOptimizer( + sequenceName = "post_sequence", + initialValue = 1, + incrementSize = 3, + optimizer = "pooled-lo" ) private Long id; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/PooledSequenceIdentifierTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/PooledSequenceIdentifierTest.java index 58586c6c4..c36ea8383 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/PooledSequenceIdentifierTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/PooledSequenceIdentifierTest.java @@ -1,6 +1,6 @@ package com.vladmihalcea.hpjp.hibernate.identifier; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/PostgreSQLSerialTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/PostgreSQLSerialTest.java index 59d0e10f1..3c87a86a0 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/PostgreSQLSerialTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/PostgreSQLSerialTest.java @@ -1,12 +1,12 @@ package com.vladmihalcea.hpjp.hibernate.identifier; import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; public class PostgreSQLSerialTest extends AbstractPostgreSQLIntegrationTest { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/PreferredPooledLoSequenceIdentifierTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/PreferredPooledLoSequenceIdentifierTest.java index 1e6d0f017..80e709697 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/PreferredPooledLoSequenceIdentifierTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/PreferredPooledLoSequenceIdentifierTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.identifier; import org.hibernate.cfg.AvailableSettings; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.Properties; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/SQLServerScopeIdentity.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/SQLServerScopeIdentity.java index b377ddd28..673a3b4de 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/SQLServerScopeIdentity.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/SQLServerScopeIdentity.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractSQLServerIntegrationTest; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; @@ -12,7 +12,7 @@ import java.sql.ResultSet; import java.util.concurrent.atomic.AtomicLong; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/SequenceVsTableGeneratorTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/SequenceVsTableGeneratorTest.java index 4481ba21e..9f3adbb7e 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/SequenceVsTableGeneratorTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/SequenceVsTableGeneratorTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.identifier; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.Properties; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/SimpleSequenceIdentifierTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/SimpleSequenceIdentifierTest.java index dd7c33943..e89517da3 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/SimpleSequenceIdentifierTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/SimpleSequenceIdentifierTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.annotations.NaturalId; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/SimpleTableIdentifierTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/SimpleTableIdentifierTest.java index fabd74c37..d4e0c794f 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/SimpleTableIdentifierTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/SimpleTableIdentifierTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.identifier; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/access/EmbeddableAccessStrategyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/access/EmbeddableAccessStrategyTest.java index 6e44e6932..20473bc05 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/access/EmbeddableAccessStrategyTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/access/EmbeddableAccessStrategyTest.java @@ -1,11 +1,11 @@ package com.vladmihalcea.hpjp.hibernate.identifier.access; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/access/EmbeddableCollectionAccessStrategyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/access/EmbeddableCollectionAccessStrategyTest.java index 94ca5ffc7..b01e8991b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/access/EmbeddableCollectionAccessStrategyTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/access/EmbeddableCollectionAccessStrategyTest.java @@ -1,13 +1,13 @@ package com.vladmihalcea.hpjp.hibernate.identifier.access; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/access/OverrideAccessStrategyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/access/OverrideAccessStrategyTest.java index 7c4b57de2..d758406b1 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/access/OverrideAccessStrategyTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/access/OverrideAccessStrategyTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.identifier.access; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/AssignedTableBatchIdentifierTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/AssignedTableBatchIdentifierTest.java deleted file mode 100644 index ab97671d7..000000000 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/AssignedTableBatchIdentifierTest.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.vladmihalcea.hpjp.hibernate.identifier.batch; - -import com.vladmihalcea.hpjp.hibernate.identifier.Identifiable; -import org.hibernate.annotations.GenericGenerator; -import org.junit.Test; - -import jakarta.persistence.*; - -public class AssignedTableBatchIdentifierTest extends AbstractBatchIdentifierTest { - - @Override - protected Class[] entities() { - return new Class[] { - Post.class, - }; - } - - @Test - public void testIdentityIdentifierGenerator() { - LOGGER.debug("testIdentityIdentifierGenerator"); - doInJPA(entityManager -> { - for (int i = 0; i < 5; i++) { - entityManager.persist(new Post()); - } - entityManager.flush(); - return null; - - }); - } - - @Entity(name = "Post") - @Table(name = "post") - public static class Post implements Identifiable { - - @Id - @GenericGenerator(name = "table", strategy = "com.vladmihalcea.hpjp.hibernate.identifier.batch.AssignedTableGenerator", - parameters = { - @org.hibernate.annotations.Parameter(name = "table_name", value = "sequence_table") - }) - @GeneratedValue(generator = "table", strategy=GenerationType.TABLE) - private Long id; - - @Override - public Long getId() { - return id; - } - } - -} diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/AssignedTableGenerator.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/AssignedTableGenerator.java deleted file mode 100644 index a027d760d..000000000 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/AssignedTableGenerator.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.vladmihalcea.hpjp.hibernate.identifier.batch; - -import com.vladmihalcea.hpjp.hibernate.identifier.Identifiable; -import org.hibernate.engine.spi.SharedSessionContractImplementor; -import org.hibernate.id.enhanced.TableGenerator; - -import java.io.Serializable; - -/** - * AssignedTableGenerator - Assigned TableGenerator - * - * @author Vlad Mihalcea - */ -public class AssignedTableGenerator extends TableGenerator { - - @Override - public Object generate(SharedSessionContractImplementor session, Object obj) { - if(obj instanceof Identifiable) { - Identifiable identifiable = (Identifiable) obj; - Serializable id = identifiable.getId(); - if(id != null) { - return id; - } - } - return super.generate(session, obj); - } -} diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/AutoIdentifierWithSequenceGeneratorTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/AutoIdentifierWithSequenceGeneratorTest.java index 6d0539616..ffd5b08f0 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/AutoIdentifierWithSequenceGeneratorTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/AutoIdentifierWithSequenceGeneratorTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.identifier.batch; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/BatchSequenceIdentifierTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/BatchSequenceIdentifierTest.java index 2a45a8bcd..85e3575b8 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/BatchSequenceIdentifierTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/BatchSequenceIdentifierTest.java @@ -4,7 +4,7 @@ import io.hypersistence.utils.hibernate.id.BatchSequence; import org.hibernate.annotations.GenericGenerator; import org.hibernate.annotations.Parameter; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.Properties; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/IdentityIdentifierTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/IdentityIdentifierTest.java index 66d2d7979..213b81d41 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/IdentityIdentifierTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/IdentityIdentifierTest.java @@ -1,6 +1,6 @@ package com.vladmihalcea.hpjp.hibernate.identifier.batch; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/MariaDBIdentifierTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/MariaDBIdentifierTest.java index 8ae9ad14f..aeae7f1c6 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/MariaDBIdentifierTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/MariaDBIdentifierTest.java @@ -2,8 +2,8 @@ import com.vladmihalcea.hpjp.util.providers.Database; import jakarta.persistence.*; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import java.util.Properties; @@ -29,7 +29,7 @@ protected Properties properties() { } @Test - @Ignore + @Disabled public void testSequenceIdentifierGenerator() { doInJPA(entityManager -> { for (int i = 0; i < 3; i++) { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/PooledLoGenericGeneratorIdentifierTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/PooledLoGenericGeneratorIdentifierTest.java index be47c89aa..43bf4631f 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/PooledLoGenericGeneratorIdentifierTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/PooledLoGenericGeneratorIdentifierTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.identifier.batch; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/PostgresTableGeneratorTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/PostgresTableGeneratorTest.java index b8be1e9b5..535b56961 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/PostgresTableGeneratorTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/PostgresTableGeneratorTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.hibernate.identifier.Identifiable; import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import org.hibernate.annotations.GenericGenerator; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/SequenceAllocationSizeIdentifierTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/SequenceAllocationSizeIdentifierTest.java index 8bc82d9af..10757f89f 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/SequenceAllocationSizeIdentifierTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/SequenceAllocationSizeIdentifierTest.java @@ -2,7 +2,8 @@ import org.hibernate.annotations.GenericGenerator; import org.hibernate.annotations.Parameter; -import org.junit.Test; +import org.hibernate.id.enhanced.SequenceStyleGenerator; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; @@ -31,10 +32,12 @@ public void testSequenceIdentifierGenerator() { public static class Post { @Id - @GeneratedValue(strategy= GenerationType.SEQUENCE, generator="pooledLo_seq") - @GenericGenerator(name="pooledLo_seq", strategy="enhanced-sequence", + @GeneratedValue(strategy= GenerationType.SEQUENCE, generator="pooled_seq") + @GenericGenerator( + name="pooled_seq", + type= SequenceStyleGenerator.class, parameters={ - @Parameter(name="sequence_name", value="pooledLo_sequence"), + @Parameter(name="sequence_name", value="pooled_sequence"), @Parameter(name="initial_value", value="1"), @Parameter(name="increment_size",value="2"), @Parameter(name="optimizer", value="pooled") diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/SequenceGeneratorIdentifierTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/SequenceGeneratorIdentifierTest.java index a62ec0b84..01c7f904e 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/SequenceGeneratorIdentifierTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/SequenceGeneratorIdentifierTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.identifier.batch; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/SequenceIdentifierTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/SequenceIdentifierTest.java index 759bea3aa..c33a2934d 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/SequenceIdentifierTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/SequenceIdentifierTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.identifier.batch; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/TableAllocationSizeIdentifierTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/TableAllocationSizeIdentifierTest.java index 7be534ecf..0e31c1b6a 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/TableAllocationSizeIdentifierTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/TableAllocationSizeIdentifierTest.java @@ -1,19 +1,23 @@ package com.vladmihalcea.hpjp.hibernate.identifier.batch; -import org.hibernate.annotations.GenericGenerator; -import org.junit.Test; - +import com.vladmihalcea.hpjp.util.providers.Database; import jakarta.persistence.*; +import org.junit.jupiter.api.Test; public class TableAllocationSizeIdentifierTest extends AbstractBatchIdentifierTest { @Override protected Class[] entities() { return new Class[] { - Post.class, + Post.class, }; } + @Override + protected Database database() { + return Database.MYSQL; + } + @Test public void testTableIdentifierGenerator() { LOGGER.debug("testTableIdentifierGenerator"); @@ -31,10 +35,8 @@ public void testTableIdentifierGenerator() { public static class Post { @Id - @GenericGenerator(name = "table", strategy = "enhanced-table", parameters = { - @org.hibernate.annotations.Parameter(name = "table_name", value = "sequence_table") - }) - @GeneratedValue(generator = "table", strategy=GenerationType.TABLE) + @TableGenerator(schema = "sequence_table", name = "table_generator") + @GeneratedValue(generator = "table_generator", strategy=GenerationType.TABLE) private Long id; } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/TableIdentifierTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/TableIdentifierTest.java index 5c3d3032a..69a6da18f 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/TableIdentifierTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/TableIdentifierTest.java @@ -1,6 +1,6 @@ package com.vladmihalcea.hpjp.hibernate.identifier.batch; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/concurrent/ConcurrentBatchIdentifierTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/concurrent/ConcurrentBatchIdentifierTest.java index d5eedbf40..707b65a70 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/concurrent/ConcurrentBatchIdentifierTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/concurrent/ConcurrentBatchIdentifierTest.java @@ -11,29 +11,34 @@ import com.vladmihalcea.hpjp.util.providers.DataSourceProvider; import com.vladmihalcea.hpjp.util.providers.MySQLDataSourceProvider; import com.vladmihalcea.hpjp.util.providers.PostgreSQLDataSourceProvider; - -import org.junit.Ignore; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.Parameter; +import org.junit.jupiter.params.ParameterizedClass; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; import java.util.ArrayList; -import java.util.Collection; import java.util.List; import java.util.Properties; import java.util.concurrent.*; +import java.util.stream.Stream; -@RunWith(Parameterized.class) +@ParameterizedClass +@MethodSource("parameters") public class ConcurrentBatchIdentifierTest extends AbstractTest { - private final DataSourceProvider dataSourceProvider; - private final PostEntityProvider entityProvider; - private final int threadCount; + @Parameter(0) + private DataSourceProvider dataSourceProvider; + @Parameter(1) + private PostEntityProvider entityProvider; + @Parameter(2) + private int threadCount; private int insertCount = 100; private int executionCount = 50; - private final ExecutorService executorService; + private ExecutorService executorService; private MetricRegistry metricRegistry = new MetricRegistry(); @@ -44,45 +49,36 @@ public class ConcurrentBatchIdentifierTest extends AbstractTest { .outputTo(LOGGER) .build(); - - public ConcurrentBatchIdentifierTest(DataSourceProvider dataSourceProvider, PostEntityProvider entityProvider, int threadCount) { - this.dataSourceProvider = dataSourceProvider; - this.entityProvider = entityProvider; - this.threadCount = threadCount; - executorService = Executors.newFixedThreadPool(threadCount); - } - - @Parameterized.Parameters - public static Collection dataProvider() { + public static Stream parameters() { MySQLDataSourceProvider mySQLDataSourceProvider = new MySQLDataSourceProvider(); PostgreSQLDataSourceProvider postgreSQLDataSourceProvider = new PostgreSQLDataSourceProvider(); IdentityPostEntityProvider identityPostEntityProvider = new IdentityPostEntityProvider(); SequencePostEntityProvider sequencePostEntityProvider = new SequencePostEntityProvider(); TablePostEntityProvider tablePostEntityProvider = new TablePostEntityProvider(); - List providers = new ArrayList<>(); - providers.add(new Object[]{mySQLDataSourceProvider, tablePostEntityProvider, 1}); - providers.add(new Object[]{mySQLDataSourceProvider, tablePostEntityProvider, 2}); - providers.add(new Object[]{mySQLDataSourceProvider, tablePostEntityProvider, 4}); - providers.add(new Object[]{mySQLDataSourceProvider, tablePostEntityProvider, 8}); - providers.add(new Object[]{mySQLDataSourceProvider, tablePostEntityProvider, 16}); - providers.add(new Object[]{mySQLDataSourceProvider, identityPostEntityProvider, 1}); - providers.add(new Object[]{mySQLDataSourceProvider, identityPostEntityProvider, 2}); - providers.add(new Object[]{mySQLDataSourceProvider, identityPostEntityProvider, 4}); - providers.add(new Object[]{mySQLDataSourceProvider, identityPostEntityProvider, 8}); - providers.add(new Object[]{mySQLDataSourceProvider, identityPostEntityProvider, 16}); - - providers.add(new Object[]{postgreSQLDataSourceProvider, tablePostEntityProvider, 1}); - providers.add(new Object[]{postgreSQLDataSourceProvider, tablePostEntityProvider, 2}); - providers.add(new Object[]{postgreSQLDataSourceProvider, tablePostEntityProvider, 4}); - providers.add(new Object[]{postgreSQLDataSourceProvider, tablePostEntityProvider, 8}); - providers.add(new Object[]{postgreSQLDataSourceProvider, tablePostEntityProvider, 16}); - providers.add(new Object[]{postgreSQLDataSourceProvider, sequencePostEntityProvider, 1}); - providers.add(new Object[]{postgreSQLDataSourceProvider, sequencePostEntityProvider, 2}); - providers.add(new Object[]{postgreSQLDataSourceProvider, sequencePostEntityProvider, 4}); - providers.add(new Object[]{postgreSQLDataSourceProvider, sequencePostEntityProvider, 8}); - providers.add(new Object[]{postgreSQLDataSourceProvider, sequencePostEntityProvider, 16}); - return providers; + return Stream.of( + Arguments.of(mySQLDataSourceProvider, tablePostEntityProvider, 1), + Arguments.of(mySQLDataSourceProvider, tablePostEntityProvider, 2), + Arguments.of(mySQLDataSourceProvider, tablePostEntityProvider, 4), + Arguments.of(mySQLDataSourceProvider, tablePostEntityProvider, 8), + Arguments.of(mySQLDataSourceProvider, tablePostEntityProvider, 16), + Arguments.of(mySQLDataSourceProvider, identityPostEntityProvider, 1), + Arguments.of(mySQLDataSourceProvider, identityPostEntityProvider, 2), + Arguments.of(mySQLDataSourceProvider, identityPostEntityProvider, 4), + Arguments.of(mySQLDataSourceProvider, identityPostEntityProvider, 8), + Arguments.of(mySQLDataSourceProvider, identityPostEntityProvider, 16), + + Arguments.of(postgreSQLDataSourceProvider, tablePostEntityProvider, 1), + Arguments.of(postgreSQLDataSourceProvider, tablePostEntityProvider, 2), + Arguments.of(postgreSQLDataSourceProvider, tablePostEntityProvider, 4), + Arguments.of(postgreSQLDataSourceProvider, tablePostEntityProvider, 8), + Arguments.of(postgreSQLDataSourceProvider, tablePostEntityProvider, 16), + Arguments.of(postgreSQLDataSourceProvider, sequencePostEntityProvider, 1), + Arguments.of(postgreSQLDataSourceProvider, sequencePostEntityProvider, 2), + Arguments.of(postgreSQLDataSourceProvider, sequencePostEntityProvider, 4), + Arguments.of(postgreSQLDataSourceProvider, sequencePostEntityProvider, 8), + Arguments.of(postgreSQLDataSourceProvider, sequencePostEntityProvider, 16) + ); } @Override @@ -91,7 +87,7 @@ protected DataSourceProvider dataSourceProvider() { } @Test - @Ignore + @Disabled public void testIdentifierGenerator() throws InterruptedException, ExecutionException { LOGGER.debug("testIdentifierGenerator, database: {}, entityProvider: {}, threadCount: {}", dataSourceProvider.database(), entityProvider.getClass().getSimpleName(), threadCount); //warming-up diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/concurrent/providers/SequencePostEntityProvider.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/concurrent/providers/SequencePostEntityProvider.java index ed11a99a3..60cbd26c0 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/concurrent/providers/SequencePostEntityProvider.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/concurrent/providers/SequencePostEntityProvider.java @@ -3,6 +3,7 @@ import org.hibernate.annotations.GenericGenerator; import jakarta.persistence.*; +import org.hibernate.id.enhanced.SequenceStyleGenerator; /** * @author Vlad Mihalcea @@ -23,7 +24,10 @@ public Post newPost() { public static class Post { @Id - @GenericGenerator(name = "table", strategy = "enhanced-sequence", parameters = { + @GenericGenerator( + name = "table", + type= SequenceStyleGenerator.class, + parameters = { @org.hibernate.annotations.Parameter(name = "table_name", value = "sequence_table"), @org.hibernate.annotations.Parameter(name = "increment_size", value = "100"), @org.hibernate.annotations.Parameter(name = "optimizer", value = "pooled"), diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/concurrent/providers/TablePostEntityProvider.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/concurrent/providers/TablePostEntityProvider.java index be3eab0da..de6675990 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/concurrent/providers/TablePostEntityProvider.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/concurrent/providers/TablePostEntityProvider.java @@ -3,6 +3,8 @@ import org.hibernate.annotations.GenericGenerator; import jakarta.persistence.*; +import org.hibernate.id.enhanced.SequenceStyleGenerator; +import org.hibernate.id.enhanced.TableGenerator; /** * @author Vlad Mihalcea @@ -23,7 +25,10 @@ public Post newPost() { public static class Post { @Id - @GenericGenerator(name = "table", strategy = "enhanced-table", parameters = { + @GenericGenerator( + name = "table", + type= TableGenerator.class, + parameters = { @org.hibernate.annotations.Parameter(name = "table_name", value = "sequence_table"), @org.hibernate.annotations.Parameter(name = "increment_size", value = "100"), @org.hibernate.annotations.Parameter(name = "optimizer", value = "pooled"), diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/jta/JTATableIdentifierTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/jta/JTATableIdentifierTest.java index 4252f2a43..3bdd97003 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/jta/JTATableIdentifierTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/jta/JTATableIdentifierTest.java @@ -1,20 +1,20 @@ package com.vladmihalcea.hpjp.hibernate.identifier.batch.jta; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.transaction.support.TransactionCallback; import org.springframework.transaction.support.TransactionTemplate; import jakarta.persistence.EntityManager; import jakarta.persistence.PersistenceContext; -@RunWith(SpringJUnit4ClassRunner.class) +@ExtendWith(SpringExtension.class) @ContextConfiguration(classes = JTATableIdentifierTestConfiguration.class) @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_CLASS) public class JTATableIdentifierTest { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/jta/Post.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/jta/Post.java index 26511b0e0..1dec64312 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/jta/Post.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/batch/jta/Post.java @@ -1,7 +1,5 @@ package com.vladmihalcea.hpjp.hibernate.identifier.batch.jta; -import org.hibernate.annotations.GenericGenerator; - import jakarta.persistence.*; /** @@ -12,9 +10,7 @@ public class Post { @Id - @GenericGenerator(name = "table", strategy = "enhanced-table", parameters = { - @org.hibernate.annotations.Parameter(name = "table_name", value = "sequence_table") - }) - @GeneratedValue(generator = "table", strategy = GenerationType.TABLE) + @GeneratedValue(generator = "post_id_table", strategy = GenerationType.TABLE) + @TableGenerator(name = "post_id_table", allocationSize = 10) private Long id; } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/composite/CompositeIdGeneratedIdClassTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/composite/CompositeIdGeneratedIdClassTest.java index 7bcd385d7..9182300a8 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/composite/CompositeIdGeneratedIdClassTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/composite/CompositeIdGeneratedIdClassTest.java @@ -9,12 +9,12 @@ import jakarta.persistence.IdClass; import jakarta.persistence.Table; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; public class CompositeIdGeneratedIdClassTest extends AbstractPostgreSQLIntegrationTest { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/composite/CompositeIdIdentityGeneratedTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/composite/CompositeIdIdentityGeneratedTest.java index c5df8b3c3..f48cb560b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/composite/CompositeIdIdentityGeneratedTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/composite/CompositeIdIdentityGeneratedTest.java @@ -14,11 +14,11 @@ import org.hibernate.Session; import org.hibernate.annotations.SQLInsert; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.vladmihalcea.hpjp.util.AbstractSQLServerIntegrationTest; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; public class CompositeIdIdentityGeneratedTest extends AbstractSQLServerIntegrationTest { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/composite/CompositeIdManyToOneTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/composite/CompositeIdManyToOneTest.java index a48ec6672..7a902a252 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/composite/CompositeIdManyToOneTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/composite/CompositeIdManyToOneTest.java @@ -1,15 +1,15 @@ package com.vladmihalcea.hpjp.hibernate.identifier.composite; import com.vladmihalcea.hpjp.util.AbstractMySQLIntegrationTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.io.Serializable; import java.util.List; import java.util.Objects; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; public class CompositeIdManyToOneTest extends AbstractMySQLIntegrationTest { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/composite/CompositeIdManyToOneWithCompanyInIdTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/composite/CompositeIdManyToOneWithCompanyInIdTest.java index d76e3bfe8..26e9a3149 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/composite/CompositeIdManyToOneWithCompanyInIdTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/composite/CompositeIdManyToOneWithCompanyInIdTest.java @@ -1,14 +1,14 @@ package com.vladmihalcea.hpjp.hibernate.identifier.composite; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.io.Serializable; import java.util.Objects; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; public class CompositeIdManyToOneWithCompanyInIdTest extends AbstractTest { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/composite/CompositeIdOneToOneTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/composite/CompositeIdOneToOneTest.java index 11c8c6ab2..070def323 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/composite/CompositeIdOneToOneTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/composite/CompositeIdOneToOneTest.java @@ -1,13 +1,13 @@ package com.vladmihalcea.hpjp.hibernate.identifier.composite; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.io.Serializable; import java.util.Objects; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNotNull; public class CompositeIdOneToOneTest extends AbstractTest { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/global/MySQLIdentifierTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/global/MySQLIdentifierTest.java index 389d4ba12..8c656a6ac 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/global/MySQLIdentifierTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/global/MySQLIdentifierTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Properties; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/global/PostgreSQLIdentifierTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/global/PostgreSQLIdentifierTest.java index 856c3e611..b1d5b5261 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/global/PostgreSQLIdentifierTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/global/PostgreSQLIdentifierTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Properties; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/globalsequence/GlobalIdentifierGeneratorScopeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/globalsequence/GlobalIdentifierGeneratorScopeTest.java index 051ba94fd..19929678c 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/globalsequence/GlobalIdentifierGeneratorScopeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/globalsequence/GlobalIdentifierGeneratorScopeTest.java @@ -4,7 +4,7 @@ import jakarta.persistence.GeneratedValue; import jakarta.persistence.Id; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/optimizer/SequenceOptimizerIdentifierTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/optimizer/SequenceOptimizerIdentifierTest.java index 514c5e7b3..78786e535 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/optimizer/SequenceOptimizerIdentifierTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/optimizer/SequenceOptimizerIdentifierTest.java @@ -8,24 +8,26 @@ import com.vladmihalcea.hpjp.util.providers.DataSourceProvider; import com.vladmihalcea.hpjp.util.providers.OracleDataSourceProvider; import com.vladmihalcea.hpjp.util.providers.PostgreSQLDataSourceProvider; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.Parameter; +import org.junit.jupiter.params.ParameterizedClass; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; -import org.junit.Ignore; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; import java.util.Properties; import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeUnit; +import java.util.stream.Stream; -@RunWith(Parameterized.class) +@ParameterizedClass +@MethodSource("parameters") public class SequenceOptimizerIdentifierTest extends AbstractTest { - private final DataSourceProvider dataSourceProvider; - private final PostEntityProvider entityProvider; + @Parameter(0) + private DataSourceProvider dataSourceProvider; + @Parameter(1) + private PostEntityProvider entityProvider; private int insertCount = 50; private int executionCount = 50; @@ -39,14 +41,7 @@ public class SequenceOptimizerIdentifierTest extends AbstractTest { .outputTo(LOGGER) .build(); - - public SequenceOptimizerIdentifierTest(DataSourceProvider dataSourceProvider, PostEntityProvider entityProvider) { - this.dataSourceProvider = dataSourceProvider; - this.entityProvider = entityProvider; - } - - @Parameterized.Parameters - public static Collection dataProvider() { + public static Stream parameters() { OracleDataSourceProvider oracleDataSourceProvider = new OracleDataSourceProvider(); PostgreSQLDataSourceProvider postgreSQLDataSourceProvider = new PostgreSQLDataSourceProvider(); @@ -60,16 +55,16 @@ public static Collection dataProvider() { Table10PostEntityProvider table10PostEntityProvider = new Table10PostEntityProvider(); Table50PostEntityProvider table50PostEntityProvider = new Table50PostEntityProvider(); - List providers = new ArrayList<>(); - providers.add(new Object[]{postgreSQLDataSourceProvider, sequence1PostEntityProvider}); - providers.add(new Object[]{postgreSQLDataSourceProvider, sequence5PostEntityProvider}); - providers.add(new Object[]{postgreSQLDataSourceProvider, sequence10PostEntityProvider}); - providers.add(new Object[]{postgreSQLDataSourceProvider, sequence50PostEntityProvider}); - providers.add(new Object[]{postgreSQLDataSourceProvider, table1PostEntityProvider}); - providers.add(new Object[]{postgreSQLDataSourceProvider, table5PostEntityProvider}); - providers.add(new Object[]{postgreSQLDataSourceProvider, table10PostEntityProvider}); - providers.add(new Object[]{postgreSQLDataSourceProvider, table50PostEntityProvider}); - return providers; + return Stream.of( + Arguments.of(postgreSQLDataSourceProvider, sequence1PostEntityProvider), + Arguments.of(postgreSQLDataSourceProvider, sequence5PostEntityProvider), + Arguments.of(postgreSQLDataSourceProvider, sequence10PostEntityProvider), + Arguments.of(postgreSQLDataSourceProvider, sequence50PostEntityProvider), + Arguments.of(postgreSQLDataSourceProvider, table1PostEntityProvider), + Arguments.of(postgreSQLDataSourceProvider, table5PostEntityProvider), + Arguments.of(postgreSQLDataSourceProvider, table10PostEntityProvider), + Arguments.of(postgreSQLDataSourceProvider, table50PostEntityProvider) + ); } @Override @@ -78,7 +73,7 @@ protected DataSourceProvider dataSourceProvider() { } @Test - @Ignore + @Disabled public void testIdentifierGenerator() throws InterruptedException, ExecutionException { LOGGER.debug("testIdentifierGenerator, database: {}, entityProvider: {}", dataSourceProvider.database(), entityProvider.getClass().getSimpleName()); //warming-up diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/optimizer/providers/Sequence10PostEntityProvider.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/optimizer/providers/Sequence10PostEntityProvider.java index 87b95f341..27789307e 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/optimizer/providers/Sequence10PostEntityProvider.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/optimizer/providers/Sequence10PostEntityProvider.java @@ -3,6 +3,7 @@ import org.hibernate.annotations.GenericGenerator; import jakarta.persistence.*; +import org.hibernate.id.enhanced.SequenceStyleGenerator; /** * @author Vlad Mihalcea @@ -23,7 +24,9 @@ public Post newPost() { public static class Post { @Id - @GenericGenerator(name = "sequence", strategy = "enhanced-sequence", parameters = { + @GenericGenerator(name = "sequence", + type= SequenceStyleGenerator.class, + parameters = { @org.hibernate.annotations.Parameter(name = "sequence_name", value = "sequence"), @org.hibernate.annotations.Parameter(name = "increment_size", value = "10"), @org.hibernate.annotations.Parameter(name = "optimizer", value = "pooled"), diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/optimizer/providers/Sequence1PostEntityProvider.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/optimizer/providers/Sequence1PostEntityProvider.java index 70184625a..02cd14b9f 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/optimizer/providers/Sequence1PostEntityProvider.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/optimizer/providers/Sequence1PostEntityProvider.java @@ -3,6 +3,7 @@ import org.hibernate.annotations.GenericGenerator; import jakarta.persistence.*; +import org.hibernate.id.enhanced.SequenceStyleGenerator; /** * @author Vlad Mihalcea @@ -23,11 +24,15 @@ public Post newPost() { public static class Post { @Id - @GenericGenerator(name = "sequence", strategy = "enhanced-sequence", parameters = { + @GenericGenerator( + name = "sequence", + type= SequenceStyleGenerator.class, + parameters = { @org.hibernate.annotations.Parameter(name = "sequence_name", value = "sequence"), @org.hibernate.annotations.Parameter(name = "increment_size", value = "1"), @org.hibernate.annotations.Parameter(name = "optimizer", value = "pooled"), - }) + } + ) @GeneratedValue(generator = "sequence", strategy=GenerationType.SEQUENCE) private Long id; } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/optimizer/providers/Sequence50PostEntityProvider.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/optimizer/providers/Sequence50PostEntityProvider.java index 71402cf8e..ec1c40086 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/optimizer/providers/Sequence50PostEntityProvider.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/optimizer/providers/Sequence50PostEntityProvider.java @@ -3,6 +3,7 @@ import org.hibernate.annotations.GenericGenerator; import jakarta.persistence.*; +import org.hibernate.id.enhanced.SequenceStyleGenerator; /** * @author Vlad Mihalcea @@ -23,11 +24,15 @@ public Post newPost() { public static class Post { @Id - @GenericGenerator(name = "sequence", strategy = "enhanced-sequence", parameters = { + @GenericGenerator( + name = "sequence", + type= SequenceStyleGenerator.class, + parameters = { @org.hibernate.annotations.Parameter(name = "sequence_name", value = "sequence"), @org.hibernate.annotations.Parameter(name = "increment_size", value = "50"), @org.hibernate.annotations.Parameter(name = "optimizer", value = "pooled"), - }) + } + ) @GeneratedValue(generator = "sequence", strategy=GenerationType.SEQUENCE) private Long id; } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/optimizer/providers/Sequence5PostEntityProvider.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/optimizer/providers/Sequence5PostEntityProvider.java index c344873a4..3d47a3dfa 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/optimizer/providers/Sequence5PostEntityProvider.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/optimizer/providers/Sequence5PostEntityProvider.java @@ -3,6 +3,7 @@ import org.hibernate.annotations.GenericGenerator; import jakarta.persistence.*; +import org.hibernate.id.enhanced.SequenceStyleGenerator; /** * @author Vlad Mihalcea @@ -23,7 +24,7 @@ public Post newPost() { public static class Post { @Id - @GenericGenerator(name = "sequence", strategy = "enhanced-sequence", parameters = { + @GenericGenerator(name = "sequence", type= SequenceStyleGenerator.class, parameters = { @org.hibernate.annotations.Parameter(name = "sequence_name", value = "sequence"), @org.hibernate.annotations.Parameter(name = "increment_size", value = "5"), @org.hibernate.annotations.Parameter(name = "optimizer", value = "pooled"), diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/optimizer/providers/Table10PostEntityProvider.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/optimizer/providers/Table10PostEntityProvider.java index 091ade33b..d4ffff24c 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/optimizer/providers/Table10PostEntityProvider.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/optimizer/providers/Table10PostEntityProvider.java @@ -3,6 +3,8 @@ import org.hibernate.annotations.GenericGenerator; import jakarta.persistence.*; +import org.hibernate.id.enhanced.SequenceStyleGenerator; +import org.hibernate.id.enhanced.TableGenerator; /** * @author Vlad Mihalcea @@ -23,7 +25,7 @@ public Post newPost() { public static class Post { @Id - @GenericGenerator(name = "table", strategy = "enhanced-table", parameters = { + @GenericGenerator(name = "table", type= TableGenerator.class, parameters = { @org.hibernate.annotations.Parameter(name = "table_name", value = "sequence_table"), @org.hibernate.annotations.Parameter(name = "increment_size", value = "10"), @org.hibernate.annotations.Parameter(name = "optimizer", value = "pooled"), diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/optimizer/providers/Table1PostEntityProvider.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/optimizer/providers/Table1PostEntityProvider.java index c24de566a..824e922a7 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/optimizer/providers/Table1PostEntityProvider.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/optimizer/providers/Table1PostEntityProvider.java @@ -3,6 +3,7 @@ import org.hibernate.annotations.GenericGenerator; import jakarta.persistence.*; +import org.hibernate.id.enhanced.TableGenerator; /** * @author Vlad Mihalcea @@ -23,7 +24,7 @@ public Post newPost() { public static class Post { @Id - @GenericGenerator(name = "table", strategy = "enhanced-table", parameters = { + @GenericGenerator(name = "table", type= TableGenerator.class, parameters = { @org.hibernate.annotations.Parameter(name = "table_name", value = "sequence_table"), @org.hibernate.annotations.Parameter(name = "increment_size", value = "1"), @org.hibernate.annotations.Parameter(name = "optimizer", value = "pooled"), diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/optimizer/providers/Table50PostEntityProvider.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/optimizer/providers/Table50PostEntityProvider.java index dfd5410b3..c8c2a521f 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/optimizer/providers/Table50PostEntityProvider.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/optimizer/providers/Table50PostEntityProvider.java @@ -3,6 +3,7 @@ import org.hibernate.annotations.GenericGenerator; import jakarta.persistence.*; +import org.hibernate.id.enhanced.TableGenerator; /** * @author Vlad Mihalcea @@ -23,7 +24,7 @@ public Post newPost() { public static class Post { @Id - @GenericGenerator(name = "table", strategy = "enhanced-table", parameters = { + @GenericGenerator(name = "table", type= TableGenerator.class, parameters = { @org.hibernate.annotations.Parameter(name = "table_name", value = "sequence_table"), @org.hibernate.annotations.Parameter(name = "increment_size", value = "50"), @org.hibernate.annotations.Parameter(name = "optimizer", value = "pooled"), diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/optimizer/providers/Table5PostEntityProvider.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/optimizer/providers/Table5PostEntityProvider.java index 74c5b312a..7a529fae6 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/optimizer/providers/Table5PostEntityProvider.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/optimizer/providers/Table5PostEntityProvider.java @@ -3,6 +3,7 @@ import org.hibernate.annotations.GenericGenerator; import jakarta.persistence.*; +import org.hibernate.id.enhanced.TableGenerator; /** * @author Vlad Mihalcea @@ -23,7 +24,7 @@ public Post newPost() { public static class Post { @Id - @GenericGenerator(name = "table", strategy = "enhanced-table", parameters = { + @GenericGenerator(name = "table", type= TableGenerator.class, parameters = { @org.hibernate.annotations.Parameter(name = "table_name", value = "sequence_table"), @org.hibernate.annotations.Parameter(name = "increment_size", value = "5"), @org.hibernate.annotations.Parameter(name = "optimizer", value = "pooled"), diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/string/StringSequence.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/string/StringSequence.java new file mode 100644 index 000000000..348bf3b22 --- /dev/null +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/string/StringSequence.java @@ -0,0 +1,26 @@ +package com.vladmihalcea.hpjp.hibernate.identifier.string; + +import org.hibernate.annotations.IdGeneratorType; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +import static java.lang.annotation.ElementType.FIELD; +import static java.lang.annotation.ElementType.METHOD; + +/** + * The {@link com.vladmihalcea.hpjp.hibernate.identifier.string.StringSequence} + * + * @author Vlad Mihalcea + * @since 1.x.y + */ +@IdGeneratorType(StringSequenceIdentifierGenerator.class) +@Retention(RetentionPolicy.RUNTIME) +@Target({FIELD, METHOD}) +public @interface StringSequence { + String sequenceName(); + int initialValue() default 1; + int incrementSize() default 1; + String sequencePrefix(); +} diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/StringSequenceIdentifier.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/string/StringSequenceIdentifierGenerator.java similarity index 60% rename from core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/StringSequenceIdentifier.java rename to core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/string/StringSequenceIdentifierGenerator.java index 3d2806df8..0558de6dc 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/StringSequenceIdentifier.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/string/StringSequenceIdentifierGenerator.java @@ -1,35 +1,54 @@ -package com.vladmihalcea.hpjp.hibernate.identifier; +package com.vladmihalcea.hpjp.hibernate.identifier.string; import org.hibernate.MappingException; import org.hibernate.dialect.Dialect; import org.hibernate.engine.config.spi.ConfigurationService; import org.hibernate.engine.jdbc.env.spi.JdbcEnvironment; import org.hibernate.engine.spi.SharedSessionContractImplementor; +import org.hibernate.generator.GeneratorCreationContext; import org.hibernate.id.Configurable; import org.hibernate.id.enhanced.SequenceStyleGenerator; import org.hibernate.internal.util.config.ConfigurationHelper; import org.hibernate.service.ServiceRegistry; -import org.hibernate.type.Type; import java.io.Serializable; +import java.lang.reflect.Member; import java.util.Properties; /** * @author Vlad Mihalcea */ -public class StringSequenceIdentifier extends SequenceStyleGenerator implements Configurable { +public class StringSequenceIdentifierGenerator extends SequenceStyleGenerator implements Configurable { public static final String SEQUENCE_PREFIX = "sequence_prefix"; - private String sequencePrefix; + private final String sequenceName; + private final int initialValue; + private final int incrementSize; + private String sequencePrefix; private String sequenceCallSyntax; + public StringSequenceIdentifierGenerator( + StringSequence annotation, + Member idMember, + GeneratorCreationContext creationContext) { + sequenceName = annotation.sequenceName(); + initialValue = annotation.initialValue(); + incrementSize = annotation.incrementSize(); + + sequencePrefix = annotation.sequencePrefix(); + } + @Override - public void configure(Type type, Properties params, ServiceRegistry serviceRegistry) - throws MappingException { - super.configure(type, params, serviceRegistry); + public void configure(GeneratorCreationContext creationContext, Properties params) throws MappingException { + params.setProperty(SEQUENCE_PARAM, sequenceName); + params.setProperty(INITIAL_PARAM, String.valueOf(initialValue)); + params.setProperty(INCREMENT_PARAM, String.valueOf(incrementSize)); + + super.configure(creationContext, params); + final ServiceRegistry serviceRegistry = creationContext.getServiceRegistry(); final JdbcEnvironment jdbcEnvironment = serviceRegistry.getService( JdbcEnvironment.class @@ -37,22 +56,6 @@ public void configure(Type type, Properties params, ServiceRegistry serviceRegis final Dialect dialect = jdbcEnvironment.getDialect(); - final ConfigurationService configurationService = serviceRegistry.getService( - ConfigurationService.class - ); - - String globalEntityIdentifierPrefix = configurationService.getSetting( - "entity.identifier.prefix", - String.class, - "SEQ_" - ); - - sequencePrefix = ConfigurationHelper.getString( - SEQUENCE_PREFIX, - params, - globalEntityIdentifierPrefix - ); - final String sequencePerEntitySuffix = ConfigurationHelper.getString( SequenceStyleGenerator.CONFIG_SEQUENCE_PER_ENTITY_SUFFIX, params, diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/StringSequenceIdentifierTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/string/StringSequenceIdentifierTest.java similarity index 58% rename from core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/StringSequenceIdentifierTest.java rename to core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/string/StringSequenceIdentifierTest.java index 4e864a7f8..72062548a 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/StringSequenceIdentifierTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/string/StringSequenceIdentifierTest.java @@ -1,12 +1,20 @@ -package com.vladmihalcea.hpjp.hibernate.identifier; +package com.vladmihalcea.hpjp.hibernate.identifier.string; +import com.vladmihalcea.hpjp.hibernate.identifier.Identifiable; import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import jakarta.persistence.*; import org.hibernate.annotations.GenericGenerator; -import org.junit.Test; +import org.hibernate.annotations.IdGeneratorType; +import org.junit.jupiter.api.Test; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; import java.util.Properties; +import static java.lang.annotation.ElementType.FIELD; +import static java.lang.annotation.ElementType.METHOD; + public class StringSequenceIdentifierTest extends AbstractPostgreSQLIntegrationTest { @Override @@ -46,20 +54,9 @@ public void test() { public static class Post implements Identifiable { @Id - @GenericGenerator( - name = "assigned-sequence", - strategy = "com.vladmihalcea.hpjp.hibernate.identifier.StringSequenceIdentifier", - parameters = { - @org.hibernate.annotations.Parameter( - name = "sequence_name", value = "hibernate_sequence"), - @org.hibernate.annotations.Parameter( - name = "sequence_prefix", value = "CTC_"), - @org.hibernate.annotations.Parameter( - name = "increment_size", value = "1"), - } - ) - @GeneratedValue( - generator = "assigned-sequence" + @StringSequence( + sequenceName = "hibernate_sequence", + sequencePrefix = "CTC_" ) private String id; @@ -73,17 +70,10 @@ public String getId() { public static class Board { @Id - @GenericGenerator( - name = "assigned-sequence", - strategy = "com.vladmihalcea.hpjp.hibernate.identifier.StringSequenceIdentifier", - parameters = { - @org.hibernate.annotations.Parameter( - name = "sequence_name", value = "hibernate_sequence"), - @org.hibernate.annotations.Parameter( - name = "increment_size", value = "1"), - } + @StringSequence( + sequenceName = "hibernate_sequence", + sequencePrefix = "CTC_" ) - @GeneratedValue(generator = "assigned-sequence", strategy = GenerationType.SEQUENCE) private String id; } @@ -93,4 +83,5 @@ public static class Event { @GeneratedValue(strategy = GenerationType.SEQUENCE) private String id; } + } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/tsid/TsidTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/tsid/TsidTest.java index b11a0a551..bfc9ff446 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/tsid/TsidTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/tsid/TsidTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.TsidUtils; import io.hypersistence.tsid.TSID; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -13,7 +13,7 @@ import java.util.concurrent.atomic.AtomicLong; import java.util.function.IntSupplier; -import static org.junit.Assert.assertNull; +import static org.junit.jupiter.api.Assertions.assertNull; public class TsidTest { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/uuid/AssignedUUIDIdentifierTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/uuid/AssignedUUIDIdentifierTest.java index 3bb85652f..ffb208acb 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/uuid/AssignedUUIDIdentifierTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/uuid/AssignedUUIDIdentifierTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.identifier.uuid; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Column; import jakarta.persistence.Entity; @@ -9,7 +9,7 @@ import jakarta.persistence.Table; import java.util.UUID; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; public class AssignedUUIDIdentifierTest extends AbstractTest { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/uuid/AutoUUIDIdentifierTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/uuid/AutoUUIDIdentifierTest.java index 713c23254..b236019c6 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/uuid/AutoUUIDIdentifierTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/uuid/AutoUUIDIdentifierTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.identifier.uuid; import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.Properties; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/uuid/PostgreSQLUUIDIdentifierTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/uuid/PostgreSQLUUIDIdentifierTest.java index 353581c2f..be181fec8 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/uuid/PostgreSQLUUIDIdentifierTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/uuid/PostgreSQLUUIDIdentifierTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import org.hibernate.annotations.*; import org.hibernate.annotations.Parameter; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import jakarta.persistence.Entity; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/uuid/UUID2IdentifierTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/uuid/UUID2IdentifierTest.java index 7f1578e8e..bcb387707 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/uuid/UUID2IdentifierTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/uuid/UUID2IdentifierTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.annotations.GenericGenerator; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.UUID; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/uuid/UUIDIdentifierTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/uuid/UUIDIdentifierTest.java index 6edb6a0a6..fd72bcd18 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/uuid/UUIDIdentifierTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/uuid/UUIDIdentifierTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.annotations.GenericGenerator; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/DefaultDatabaseIndexTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/DefaultDatabaseIndexTest.java index 78600d807..246872dae 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/DefaultDatabaseIndexTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/DefaultDatabaseIndexTest.java @@ -2,17 +2,23 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; - import jakarta.persistence.*; -import java.util.*; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.Parameter; +import org.junit.jupiter.params.ParameterizedClass; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; + +import java.util.Arrays; +import java.util.List; +import java.util.Objects; +import java.util.stream.Stream; /** * @author Vlad Mihalcea */ -@RunWith(Parameterized.class) +@ParameterizedClass +@MethodSource("parameters") public class DefaultDatabaseIndexTest extends AbstractTest { @Override @@ -23,20 +29,16 @@ protected Class[] entities() { }; } - private final Database database; + @Parameter + private Database database; - public DefaultDatabaseIndexTest(Database database) { - this.database = database; - } - - @Parameterized.Parameters - public static Collection rdbmsDataSourceProvider() { - List databases = new ArrayList<>(); - databases.add(new Database[] {Database.ORACLE}); - databases.add(new Database[] {Database.SQLSERVER}); - databases.add(new Database[] {Database.POSTGRESQL}); - databases.add(new Database[] {Database.MYSQL}); - return databases; + public static Stream parameters() { + return Stream.of( + Arguments.of(Database.ORACLE), + Arguments.of(Database.SQLSERVER), + Arguments.of(Database.POSTGRESQL), + Arguments.of(Database.MYSQL) + ); } @Override diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/SQLServerSendStringParametersAsUnicodeComparisonTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/SQLServerSendStringParametersAsUnicodeComparisonTest.java index d6ab8ff02..2f0b409c6 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/SQLServerSendStringParametersAsUnicodeComparisonTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/SQLServerSendStringParametersAsUnicodeComparisonTest.java @@ -2,10 +2,15 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.DataSourceProvider; +import com.vladmihalcea.hpjp.util.providers.Database; import com.vladmihalcea.hpjp.util.providers.SQLServerDataSourceProvider; import org.hibernate.Session; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.junit.jupiter.params.Parameter; +import org.junit.jupiter.params.ParameterizedClass; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; import org.junit.runners.Parameterized; import jakarta.persistence.*; @@ -13,25 +18,25 @@ import java.util.Arrays; import java.util.Collection; import java.util.concurrent.ThreadLocalRandom; +import java.util.stream.Stream; + +import org.junit.runner.RunWith; /** * @author Vlad Mihalcea */ -@RunWith(Parameterized.class) +@ParameterizedClass +@MethodSource("parameters") public class SQLServerSendStringParametersAsUnicodeComparisonTest extends AbstractTest { - private final boolean sendStringParametersAsUnicode; + @Parameter + private boolean sendStringParametersAsUnicode; - public SQLServerSendStringParametersAsUnicodeComparisonTest(boolean sendStringParametersAsUnicode) { - this.sendStringParametersAsUnicode = sendStringParametersAsUnicode; - } - - @Parameterized.Parameters - public static Collection parameters() { - return Arrays.asList(new Boolean[][] { - { true }, - { false } - }); + public static Stream parameters() { + return Stream.of( + Arguments.of(true), + Arguments.of(false) + ); } @Override diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/postgres/PostgreSQLBRINIndexTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/postgres/PostgreSQLBRINIndexTest.java index 8b7254ca9..364259978 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/postgres/PostgreSQLBRINIndexTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/postgres/PostgreSQLBRINIndexTest.java @@ -6,7 +6,7 @@ import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.LocalDateTime; import java.util.List; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/postgres/PostgreSQLBalancedTreeIndexTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/postgres/PostgreSQLBalancedTreeIndexTest.java index 9c2e0f75b..d0203f496 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/postgres/PostgreSQLBalancedTreeIndexTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/postgres/PostgreSQLBalancedTreeIndexTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.RandomUtils; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.LocalDateTime; import java.util.List; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/postgres/PostgreSQLGINIndexTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/postgres/PostgreSQLGINIndexTest.java index b69597074..5c58a25e5 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/postgres/PostgreSQLGINIndexTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/postgres/PostgreSQLGINIndexTest.java @@ -4,7 +4,7 @@ import com.vladmihalcea.hpjp.util.RandomUtils; import com.vladmihalcea.hpjp.util.providers.Database; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.LocalDateTime; import java.util.List; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/postgres/PostgreSQLHashIndexTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/postgres/PostgreSQLHashIndexTest.java index 59e48ddb3..ed5fe2fab 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/postgres/PostgreSQLHashIndexTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/postgres/PostgreSQLHashIndexTest.java @@ -6,14 +6,14 @@ import com.vladmihalcea.hpjp.util.providers.Database; import org.hibernate.cfg.AvailableSettings; import org.hibernate.exception.ConstraintViolationException; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import java.util.List; import java.util.Properties; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea @@ -112,7 +112,7 @@ public void testEquality() { } @Test - @Ignore + @Disabled public void testDuplicate() { try { doInJPA(entityManager -> { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/postgres/hot/PostgreSQLCtidDefaultUpdateTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/postgres/hot/PostgreSQLCtidDefaultUpdateTest.java index c7aa9414e..50cce5c49 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/postgres/hot/PostgreSQLCtidDefaultUpdateTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/postgres/hot/PostgreSQLCtidDefaultUpdateTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import jakarta.persistence.*; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.ResultSet; import java.sql.SQLException; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/postgres/hot/PostgreSQLCtidTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/postgres/hot/PostgreSQLCtidTest.java index 41ffdc189..148ecff4e 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/postgres/hot/PostgreSQLCtidTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/postgres/hot/PostgreSQLCtidTest.java @@ -5,7 +5,7 @@ import jakarta.persistence.Id; import jakarta.persistence.Table; import jakarta.persistence.Tuple; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.ResultSet; import java.sql.SQLException; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/postgres/hot/PostgreSQLCtidVersionIndexTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/postgres/hot/PostgreSQLCtidVersionIndexTest.java index 4d229da02..a8b1ede0c 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/postgres/hot/PostgreSQLCtidVersionIndexTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/postgres/hot/PostgreSQLCtidVersionIndexTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import jakarta.persistence.*; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.ResultSet; import java.sql.SQLException; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/postgres/hot/PostgreSQLHOTDynamicUpdateTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/postgres/hot/PostgreSQLHOTDynamicUpdateTest.java index 64e37bbc9..e0c7ed8b0 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/postgres/hot/PostgreSQLHOTDynamicUpdateTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/index/postgres/hot/PostgreSQLHOTDynamicUpdateTest.java @@ -5,7 +5,7 @@ import jakarta.persistence.*; import org.hibernate.annotations.DynamicUpdate; import org.hibernate.annotations.Type; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.ResultSet; import java.sql.SQLException; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/ImplicitPolymorphismTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/ImplicitPolymorphismTest.java index 05aedd3c1..d9e5f941b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/ImplicitPolymorphismTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/ImplicitPolymorphismTest.java @@ -5,7 +5,7 @@ import com.vladmihalcea.hpjp.util.providers.Database; import jakarta.persistence.*; import org.hibernate.Hibernate; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.Timestamp; import java.time.LocalDateTime; @@ -13,7 +13,7 @@ import java.util.Date; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/JoinedTableBulkDeleteTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/JoinedTableBulkDeleteTest.java index f5cb7be1a..4fc277965 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/JoinedTableBulkDeleteTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/JoinedTableBulkDeleteTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.inheritance; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.sql.Timestamp; @@ -10,7 +10,7 @@ import java.util.Date; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/JoinedTableDiscriminatorColumnTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/JoinedTableDiscriminatorColumnTest.java index d8ce10f4e..31dea5e76 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/JoinedTableDiscriminatorColumnTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/JoinedTableDiscriminatorColumnTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.sql.Timestamp; @@ -11,8 +11,8 @@ import java.util.Date; import java.util.List; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/JoinedTableDiscriminatorTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/JoinedTableDiscriminatorTest.java index c37e0142d..8b7fc94eb 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/JoinedTableDiscriminatorTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/JoinedTableDiscriminatorTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.inheritance; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.sql.Timestamp; @@ -10,7 +10,7 @@ import java.util.Date; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/JoinedTablePrimaryKeyJoinColumnTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/JoinedTablePrimaryKeyJoinColumnTest.java index 791824623..a58f58e95 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/JoinedTablePrimaryKeyJoinColumnTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/JoinedTablePrimaryKeyJoinColumnTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.inheritance; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.sql.Timestamp; @@ -10,8 +10,8 @@ import java.util.Date; import java.util.List; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/JoinedTableTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/JoinedTableTest.java index 0a380444b..617706362 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/JoinedTableTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/JoinedTableTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.sql.Timestamp; @@ -12,8 +12,8 @@ import java.util.List; import java.util.Properties; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/MappedSuperclassTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/MappedSuperclassTest.java index 14361f66b..a8c57b4af 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/MappedSuperclassTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/MappedSuperclassTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.sql.Timestamp; @@ -10,7 +10,7 @@ import java.util.Date; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/SingleTableCheckConstraintTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/SingleTableCheckConstraintTest.java index c640b28c9..cc24c758e 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/SingleTableCheckConstraintTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/SingleTableCheckConstraintTest.java @@ -4,7 +4,7 @@ import com.vladmihalcea.hpjp.util.providers.Database; import jakarta.persistence.*; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.Statement; import java.sql.Timestamp; @@ -13,7 +13,7 @@ import java.util.Date; import java.util.List; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/SingleTableMySQLTriggerTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/SingleTableMySQLTriggerTest.java index 75f8d636b..707ad40cf 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/SingleTableMySQLTriggerTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/SingleTableMySQLTriggerTest.java @@ -4,7 +4,7 @@ import com.vladmihalcea.hpjp.util.providers.Database; import jakarta.persistence.*; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.Statement; import java.sql.Timestamp; @@ -13,7 +13,7 @@ import java.util.Date; import java.util.List; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/SingleTableTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/SingleTableTest.java index 8792bb159..a08f09c28 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/SingleTableTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/SingleTableTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.sql.Timestamp; @@ -11,8 +11,8 @@ import java.util.Date; import java.util.List; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/SortIndexCollectionInheritance.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/SortIndexCollectionInheritance.java index 3a5caf71b..1fd941ba2 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/SortIndexCollectionInheritance.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/SortIndexCollectionInheritance.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.inheritance; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/TablePerClassMySQLUnionAllTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/TablePerClassMySQLUnionAllTest.java deleted file mode 100644 index 119c22e35..000000000 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/TablePerClassMySQLUnionAllTest.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.vladmihalcea.hpjp.hibernate.inheritance; - -import com.vladmihalcea.hpjp.util.providers.DataSourceProvider; -import com.vladmihalcea.hpjp.util.providers.MySQLDataSourceProvider; -import org.hibernate.dialect.MySQL8Dialect; - -/** - * @author Vlad Mihalcea - */ -public class TablePerClassMySQLUnionAllTest extends TablePerClassTest { - - @Override - protected DataSourceProvider dataSourceProvider() { - return new MySQLDataSourceProvider() { - @Override - public String hibernateDialect() { - return MySQLUnionAllSupportDialect.class.getName(); - } - }; - } - - public static class MySQLUnionAllSupportDialect extends MySQL8Dialect { - @Override - public boolean supportsUnionAll() { - return true; - } - } -} diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/TablePerClassMySQLUnionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/TablePerClassMySQLUnionTest.java deleted file mode 100644 index e025f696b..000000000 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/TablePerClassMySQLUnionTest.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.vladmihalcea.hpjp.hibernate.inheritance; - -import com.vladmihalcea.hpjp.util.providers.DataSourceProvider; -import com.vladmihalcea.hpjp.util.providers.MySQLDataSourceProvider; -import org.hibernate.dialect.MySQL8Dialect; - -/** - * @author Vlad Mihalcea - */ -public class TablePerClassMySQLUnionTest extends TablePerClassTest { - - @Override - protected DataSourceProvider dataSourceProvider() { - return new MySQLDataSourceProvider() { - @Override - public String hibernateDialect() { - return MySQLUnionSupportDialect.class.getName(); - } - }; - } - - public static class MySQLUnionSupportDialect extends MySQL8Dialect { - @Override - public boolean supportsUnionAll() { - return false; - } - } -} diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/TablePerClassTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/TablePerClassTest.java index 1a8e098c3..e20f601a8 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/TablePerClassTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/TablePerClassTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.sql.Timestamp; @@ -11,7 +11,7 @@ import java.util.Date; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/discriminator/CharDiscriminatorTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/discriminator/CharDiscriminatorTest.java index e066396c3..c36f09202 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/discriminator/CharDiscriminatorTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/discriminator/CharDiscriminatorTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractMySQLIntegrationTest; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.sql.Statement; @@ -11,7 +11,7 @@ import java.util.Date; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/discriminator/DefaultDiscriminatorTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/discriminator/DefaultDiscriminatorTest.java index e14353ad1..2eb0c0794 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/discriminator/DefaultDiscriminatorTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/discriminator/DefaultDiscriminatorTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractMySQLIntegrationTest; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.sql.Statement; @@ -11,7 +11,7 @@ import java.util.Date; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/discriminator/DefaultIntegerDiscriminatorTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/discriminator/DefaultIntegerDiscriminatorTest.java index 849754f41..8e42fd945 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/discriminator/DefaultIntegerDiscriminatorTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/discriminator/DefaultIntegerDiscriminatorTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractMySQLIntegrationTest; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.sql.Statement; @@ -11,7 +11,7 @@ import java.util.Date; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/discriminator/JoinedStringDiscriminatorTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/discriminator/JoinedStringDiscriminatorTest.java index 17a40cde4..90ec02040 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/discriminator/JoinedStringDiscriminatorTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/discriminator/JoinedStringDiscriminatorTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.inheritance.discriminator; import com.vladmihalcea.hpjp.util.AbstractMySQLIntegrationTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; @@ -10,7 +10,7 @@ import java.util.Date; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/discriminator/JoinedStringWithoutDiscriminatorTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/discriminator/JoinedStringWithoutDiscriminatorTest.java index 83360d82d..528e50132 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/discriminator/JoinedStringWithoutDiscriminatorTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/discriminator/JoinedStringWithoutDiscriminatorTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.inheritance.discriminator; import com.vladmihalcea.hpjp.util.AbstractMySQLIntegrationTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.sql.Timestamp; @@ -9,7 +9,7 @@ import java.util.Date; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/discriminator/MySQLIntegerDiscriminatorTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/discriminator/MySQLIntegerDiscriminatorTest.java index fd76febea..b61b5cd93 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/discriminator/MySQLIntegerDiscriminatorTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/discriminator/MySQLIntegerDiscriminatorTest.java @@ -9,11 +9,11 @@ import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.vladmihalcea.hpjp.util.AbstractMySQLIntegrationTest; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/discriminator/PostgreSQLIntegerDiscriminatorTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/discriminator/PostgreSQLIntegerDiscriminatorTest.java index df029fe17..50b75abfb 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/discriminator/PostgreSQLIntegerDiscriminatorTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/discriminator/PostgreSQLIntegerDiscriminatorTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import jakarta.persistence.*; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.Statement; import java.sql.Timestamp; @@ -11,7 +11,7 @@ import java.util.Date; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/discriminator/StringDiscriminatorTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/discriminator/StringDiscriminatorTest.java index 0c180fd4a..2a03376c7 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/discriminator/StringDiscriminatorTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/discriminator/StringDiscriminatorTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractMySQLIntegrationTest; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.sql.Statement; @@ -11,7 +11,7 @@ import java.util.Date; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/discriminator/description/IntegerDiscriminatorDescriptionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/discriminator/description/IntegerDiscriminatorDescriptionTest.java index 9da489f61..f89b3bab5 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/discriminator/description/IntegerDiscriminatorDescriptionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/discriminator/description/IntegerDiscriminatorDescriptionTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.inheritance.discriminator.description; import com.vladmihalcea.hpjp.util.AbstractMySQLIntegrationTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.DiscriminatorValue; import jakarta.persistence.Tuple; @@ -10,8 +10,8 @@ import java.time.LocalDateTime; import java.util.List; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/embeddable/EmbeddedInheritanceTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/embeddable/EmbeddedInheritanceTest.java index ce1a466b4..4e05d20bc 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/embeddable/EmbeddedInheritanceTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/embeddable/EmbeddedInheritanceTest.java @@ -4,14 +4,14 @@ import com.vladmihalcea.hpjp.util.providers.Database; import jakarta.persistence.*; import org.hibernate.annotations.CreationTimestamp; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.io.Serializable; import java.util.*; import static java.util.stream.Collectors.groupingBy; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/spring/BehaviorDrivenInheritanceTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/spring/BehaviorDrivenInheritanceTest.java index abffacebc..79fc8acf2 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/spring/BehaviorDrivenInheritanceTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/spring/BehaviorDrivenInheritanceTest.java @@ -5,14 +5,14 @@ import com.vladmihalcea.hpjp.hibernate.inheritance.spring.model.SmsSubscriber; import com.vladmihalcea.hpjp.hibernate.inheritance.spring.model.Subscriber; import com.vladmihalcea.hpjp.hibernate.inheritance.spring.service.CampaignService; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.transaction.TransactionException; import org.springframework.transaction.support.TransactionCallback; import org.springframework.transaction.support.TransactionTemplate; @@ -25,7 +25,7 @@ /** * @author Vlad Mihalcea */ -@RunWith(SpringJUnit4ClassRunner.class) +@ExtendWith(SpringExtension.class) @ContextConfiguration(classes = BehaviorDrivenInheritanceConfiguration.class) @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD) public class BehaviorDrivenInheritanceTest { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/listener/EntityReplicationTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/listener/EntityReplicationTest.java index 431953c17..e27aecba6 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/listener/EntityReplicationTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/listener/EntityReplicationTest.java @@ -5,13 +5,14 @@ import org.hibernate.FlushMode; import org.hibernate.HibernateException; import org.hibernate.boot.Metadata; +import org.hibernate.boot.spi.BootstrapContext; import org.hibernate.engine.spi.SessionFactoryImplementor; import org.hibernate.event.service.spi.EventListenerRegistry; import org.hibernate.event.spi.*; import org.hibernate.integrator.spi.Integrator; import org.hibernate.persister.entity.EntityPersister; import org.hibernate.service.spi.SessionFactoryServiceRegistry; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.LocalDate; @@ -64,13 +65,8 @@ public static class ReplicationEventListenerIntegrator implements Integrator { public static final ReplicationEventListenerIntegrator INSTANCE = new ReplicationEventListenerIntegrator(); @Override - public void integrate( - Metadata metadata, - SessionFactoryImplementor sessionFactory, - SessionFactoryServiceRegistry serviceRegistry) { - - final EventListenerRegistry eventListenerRegistry = - serviceRegistry.getService(EventListenerRegistry.class); + public void integrate(Metadata metadata, BootstrapContext bootstrapContext, SessionFactoryImplementor sessionFactory) { + final EventListenerRegistry eventListenerRegistry = sessionFactory.getServiceRegistry().getService(EventListenerRegistry.class); eventListenerRegistry.appendListeners(EventType.POST_INSERT, ReplicationInsertEventListener.INSTANCE); eventListenerRegistry.appendListeners(EventType.POST_UPDATE, ReplicationUpdateEventListener.INSTANCE); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/listener/UpdatableTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/listener/UpdatableTest.java index 07cde65b7..6331e6723 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/listener/UpdatableTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/listener/UpdatableTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import jakarta.persistence.*; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.Date; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/DataSourceProxySlowQueryLogTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/DataSourceProxySlowQueryLogTest.java index eee1266fd..61e8fa6b8 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/DataSourceProxySlowQueryLogTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/DataSourceProxySlowQueryLogTest.java @@ -10,7 +10,7 @@ import net.ttddyy.dsproxy.listener.logging.SLF4JQueryLoggingListener; import net.ttddyy.dsproxy.listener.logging.SLF4JSlowQueryListener; import net.ttddyy.dsproxy.support.ProxyDataSourceBuilder; -import org.junit.Test; +import org.junit.jupiter.api.Test; import javax.sql.DataSource; import java.util.Collection; @@ -20,7 +20,7 @@ import java.util.stream.IntStream; import java.util.stream.LongStream; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/DataSourceProxyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/DataSourceProxyTest.java index 7963bd549..6548dc7c3 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/DataSourceProxyTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/DataSourceProxyTest.java @@ -9,7 +9,7 @@ import net.ttddyy.dsproxy.listener.ChainListener; import net.ttddyy.dsproxy.listener.logging.SLF4JQueryLoggingListener; import net.ttddyy.dsproxy.support.ProxyDataSourceBuilder; -import org.junit.Test; +import org.junit.jupiter.api.Test; import javax.sql.DataSource; import java.util.Properties; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/HibernateLoggingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/HibernateLoggingTest.java index da789de60..78eb09194 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/HibernateLoggingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/HibernateLoggingTest.java @@ -6,7 +6,7 @@ import jakarta.persistence.Table; import jakarta.persistence.Version; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.vladmihalcea.hpjp.util.AbstractTest; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/MDCLoggingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/MDCLoggingTest.java index a7b1d650d..b3dccf3bc 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/MDCLoggingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/MDCLoggingTest.java @@ -5,12 +5,12 @@ import jakarta.persistence.*; import org.hibernate.LockMode; import org.hibernate.LockOptions; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.slf4j.MDC; import java.util.Properties; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/MySQLMDCLoggingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/MySQLMDCLoggingTest.java index 57e9bd066..e67813b7e 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/MySQLMDCLoggingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/MySQLMDCLoggingTest.java @@ -4,12 +4,12 @@ import com.vladmihalcea.hpjp.util.exception.ExceptionUtil; import jakarta.persistence.*; import org.hibernate.LockOptions; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.slf4j.MDC; import java.util.Properties; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/P6spyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/P6spyTest.java index 8c1a2f8fa..d46d86d7f 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/P6spyTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/P6spyTest.java @@ -4,7 +4,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.DataSourceProxyType; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Entity; import jakarta.persistence.Id; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/QueryStackTraceLoggerTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/QueryStackTraceLoggerTest.java index ed05ada87..9b4a5f65e 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/QueryStackTraceLoggerTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/QueryStackTraceLoggerTest.java @@ -7,7 +7,7 @@ import jakarta.persistence.Table; import jakarta.persistence.Version; import org.hibernate.cfg.AvailableSettings; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Properties; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/StatementInspectorLoggingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/StatementInspectorLoggingTest.java index 22e0093f6..9411c6398 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/StatementInspectorLoggingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/StatementInspectorLoggingTest.java @@ -5,7 +5,7 @@ import jakarta.persistence.Id; import jakarta.persistence.Table; import jakarta.persistence.Version; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Properties; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/comment/HibernateCommentLoggingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/comment/HibernateCommentLoggingTest.java index b7083ee69..2fc534236 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/comment/HibernateCommentLoggingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/comment/HibernateCommentLoggingTest.java @@ -9,13 +9,13 @@ import jakarta.persistence.criteria.Root; import org.hibernate.LockOptions; import org.hibernate.cfg.AvailableSettings; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Collections; import java.util.List; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/inspector/SQLCommentTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/inspector/SQLCommentTest.java index f6fa40963..5be5c570f 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/inspector/SQLCommentTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/inspector/SQLCommentTest.java @@ -2,11 +2,11 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/validator/SQLStatementCountValidatorTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/validator/SQLStatementCountValidatorTest.java index 1531539ce..7cf0bb9f9 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/validator/SQLStatementCountValidatorTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/logging/validator/SQLStatementCountValidatorTest.java @@ -3,14 +3,14 @@ import com.vladmihalcea.hpjp.hibernate.logging.validator.sql.SQLStatementCountValidator; import com.vladmihalcea.hpjp.util.AbstractTest; import net.ttddyy.dsproxy.QueryCountHolder; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.List; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * @author Vlad Mihalcea @@ -75,7 +75,7 @@ public void testNPlusOne() { } @Test - @Ignore + @Disabled public void testNPlusOneWithQueryCountHolder() { doInJPA(entityManager -> { QueryCountHolder.clear(); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/DefaultUpdateTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/DefaultUpdateTest.java index ae81569ce..528730bfd 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/DefaultUpdateTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/DefaultUpdateTest.java @@ -11,7 +11,7 @@ import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.vladmihalcea.hpjp.util.AbstractTest; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/DynamicUpdateTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/DynamicUpdateTest.java index 7f1397b22..6b9a380fe 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/DynamicUpdateTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/DynamicUpdateTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.annotations.DynamicUpdate; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.sql.Timestamp; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/FluentSettersTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/FluentSettersTest.java index 25c9e786a..f5a4db2f4 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/FluentSettersTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/FluentSettersTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.apache.commons.lang3.SerializationUtils; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.io.Serializable; @@ -13,7 +13,7 @@ import java.util.Date; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/GeneratedTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/GeneratedTest.java index 67e61356e..54b20ff83 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/GeneratedTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/GeneratedTest.java @@ -1,15 +1,14 @@ package com.vladmihalcea.hpjp.hibernate.mapping; import com.vladmihalcea.hpjp.util.AbstractSQLServerIntegrationTest; -import org.hibernate.annotations.Generated; -import org.hibernate.annotations.GenerationTime; -import org.junit.Test; - import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; +import org.hibernate.annotations.Generated; +import org.hibernate.generator.EventType; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea @@ -75,7 +74,7 @@ public static class Hero { private String middleName5; - @Generated( value = GenerationTime.ALWAYS ) + @Generated(event = {EventType.INSERT, EventType.UPDATE}) @Column(columnDefinition = "AS CONCAT(" + " COALESCE(firstName, ''), " + diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/HibernateImmutableExceptionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/HibernateImmutableExceptionTest.java index b33a250a7..09d8769e6 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/HibernateImmutableExceptionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/HibernateImmutableExceptionTest.java @@ -8,13 +8,13 @@ import jakarta.persistence.criteria.Root; import org.hibernate.HibernateException; import org.hibernate.annotations.Immutable; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Date; import java.util.Locale; import java.util.Properties; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/HibernateImmutableWarningTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/HibernateImmutableUpdateTest.java similarity index 62% rename from core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/HibernateImmutableWarningTest.java rename to core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/HibernateImmutableUpdateTest.java index daf84ac79..8a68ec2f8 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/HibernateImmutableWarningTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/HibernateImmutableUpdateTest.java @@ -1,9 +1,9 @@ package com.vladmihalcea.hpjp.hibernate.mapping; -import com.vladmihalcea.hpjp.util.AbstractSQLServerIntegrationTest; +import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.ReflectionUtils; import org.hibernate.annotations.Immutable; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import jakarta.persistence.criteria.CriteriaBuilder; @@ -11,12 +11,12 @@ import jakarta.persistence.criteria.Root; import java.util.Date; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.*; /** * @author Vlad Mihalcea */ -public class HibernateImmutableWarningTest extends AbstractSQLServerIntegrationTest { +public class HibernateImmutableUpdateTest extends AbstractTest { @Override protected Class[] entities() { @@ -58,45 +58,57 @@ public void testFlushChanges() { @Test public void testJPQL() { - doInJPA(entityManager -> { - entityManager.createQuery( - "update Event " + - "set eventValue = :eventValue " + - "where id = :id") - .setParameter("eventValue", "10") - .setParameter("id", 1L) - .executeUpdate(); - }); + try { + doInJPA(entityManager -> { + entityManager.createQuery( + "update Event " + + "set eventValue = :eventValue " + + "where id = :id") + .setParameter("eventValue", "10") + .setParameter("id", 1L) + .executeUpdate(); + }); + + fail(); + } catch (Exception e) { + assertTrue(e.getMessage().contains("The query attempts to update an immutable entity")); + } doInJPA(entityManager -> { Event event = entityManager.find(Event.class, 1L); - assertEquals("10", event.getEventValue()); + assertEquals("25", event.getEventValue()); }); } @Test public void testCriteriaAPI() { - doInJPA(entityManager -> { - CriteriaBuilder builder = entityManager.getCriteriaBuilder(); - CriteriaUpdate update = builder.createCriteriaUpdate(Event.class); + try { + doInJPA(entityManager -> { + CriteriaBuilder builder = entityManager.getCriteriaBuilder(); + CriteriaUpdate update = builder.createCriteriaUpdate(Event.class); - Root root = update.from(Event.class); + Root root = update.from(Event.class); - update - .set(root.get("eventValue"), "100") - .where( - builder.equal(root.get("id"), 1L) - ); + update + .set(root.get("eventValue"), "100") + .where( + builder.equal(root.get("id"), 1L) + ); - entityManager.createQuery(update).executeUpdate(); - }); + entityManager.createQuery(update).executeUpdate(); + }); + + fail(); + } catch (Exception e) { + assertTrue(e.getMessage().contains("The query attempts to update an immutable entity")); + } doInJPA(entityManager -> { Event event = entityManager.find(Event.class, 1L); - assertEquals("100", event.getEventValue()); + assertEquals("25", event.getEventValue()); }); } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/HydratedStateListenerTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/HydratedStateListenerTest.java index e07d3c557..e894eec51 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/HydratedStateListenerTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/HydratedStateListenerTest.java @@ -19,7 +19,7 @@ import org.hibernate.event.spi.FlushEntityEvent; import org.hibernate.event.spi.FlushEntityEventListener; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.vladmihalcea.hpjp.util.AbstractTest; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/JPAFluentInterfaceTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/JPAFluentInterfaceTest.java index f97682b5d..6a72ec647 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/JPAFluentInterfaceTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/JPAFluentInterfaceTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.mapping; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.sql.Timestamp; @@ -11,7 +11,7 @@ import java.util.Date; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/JPAImmutableTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/JPAImmutableTest.java index 37691614d..722b5f078 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/JPAImmutableTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/JPAImmutableTest.java @@ -2,21 +2,18 @@ import com.vladmihalcea.hpjp.util.AbstractSQLServerIntegrationTest; import com.vladmihalcea.hpjp.util.ReflectionUtils; -import com.vladmihalcea.hpjp.util.exception.ExceptionUtil; +import jakarta.persistence.*; import org.hibernate.HibernateException; import org.hibernate.annotations.Immutable; import org.hibernate.cfg.AvailableSettings; -import org.hibernate.query.ImmutableEntityUpdateQueryHandlingMode; -import org.junit.Test; +import org.hibernate.query.spi.ImmutableEntityUpdateQueryHandlingMode; +import org.junit.jupiter.api.Test; -import jakarta.persistence.*; import java.util.Date; import java.util.Locale; import java.util.Properties; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.*; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/JoinFormulaCollationTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/JoinFormulaCollationTest.java index f958e08f3..219a74e22 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/JoinFormulaCollationTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/JoinFormulaCollationTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import org.hibernate.annotations.JoinFormula; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Entity; import jakarta.persistence.Id; @@ -10,7 +10,7 @@ import jakarta.persistence.Table; import java.util.Objects; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/JoinFormulaLastMonthSalaryTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/JoinFormulaLastMonthSalaryTest.java index d56cc5886..347338deb 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/JoinFormulaLastMonthSalaryTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/JoinFormulaLastMonthSalaryTest.java @@ -2,12 +2,12 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import org.hibernate.annotations.JoinFormula; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea @@ -122,7 +122,7 @@ protected void afterInit() { } @Test - @Ignore + @Disabled public void test() { doInJPA( entityManager -> { assertEquals( diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/JoinFormulaTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/JoinFormulaTest.java index 6dbe744e3..5664d84b6 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/JoinFormulaTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/JoinFormulaTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import org.hibernate.annotations.JoinFormula; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; @@ -12,8 +12,8 @@ import java.util.Locale; import java.util.Objects; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/LatestChildJoinFormulaTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/LatestChildJoinFormulaTest.java index f5fc86767..192c49d13 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/LatestChildJoinFormulaTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/LatestChildJoinFormulaTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import org.hibernate.annotations.JoinFormula; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.sql.Timestamp; @@ -10,8 +10,8 @@ import java.util.Date; import java.util.List; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/MapsIdWithManyToOneTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/MapsIdWithManyToOneTest.java index 3c27b5a9f..62a4b781b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/MapsIdWithManyToOneTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/MapsIdWithManyToOneTest.java @@ -11,12 +11,12 @@ import jakarta.persistence.OneToOne; import jakarta.persistence.Table; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.vladmihalcea.hpjp.util.AbstractTest; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/MapsIdWithOneToOneTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/MapsIdWithOneToOneTest.java index a180c2667..d99790a11 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/MapsIdWithOneToOneTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/MapsIdWithOneToOneTest.java @@ -1,14 +1,14 @@ package com.vladmihalcea.hpjp.hibernate.mapping; import com.vladmihalcea.hpjp.util.AbstractSQLServerIntegrationTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.io.Serializable; import java.util.List; import java.util.Objects; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/MultipleEntitiesOneTableTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/MultipleEntitiesOneTableTest.java index 007e59b9d..9ed8d7a42 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/MultipleEntitiesOneTableTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/MultipleEntitiesOneTableTest.java @@ -9,9 +9,9 @@ import org.hibernate.annotations.DynamicUpdate; import org.hibernate.annotations.NaturalId; import org.hibernate.annotations.Type; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/OptionalAttributeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/OptionalAttributeTest.java index fd9a27b25..094db2b81 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/OptionalAttributeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/OptionalAttributeTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.hibernate.forum.MediaType; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.io.Serializable; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/calculated/FormulaCurrentDateTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/calculated/FormulaCurrentDateTest.java index f44b8ea86..97d3a52cc 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/calculated/FormulaCurrentDateTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/calculated/FormulaCurrentDateTest.java @@ -2,14 +2,14 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import org.hibernate.annotations.Formula; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.Date; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/calculated/FormulaTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/calculated/FormulaTest.java index a8a29aa6f..0b1af16b5 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/calculated/FormulaTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/calculated/FormulaTest.java @@ -2,13 +2,13 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import org.hibernate.annotations.Formula; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.sql.Timestamp; import java.time.LocalDateTime; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/calculated/JPACalculatedPostLoadTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/calculated/JPACalculatedPostLoadTest.java index 580e838e8..478ae0cd7 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/calculated/JPACalculatedPostLoadTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/calculated/JPACalculatedPostLoadTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.mapping.calculated; import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.math.BigDecimal; @@ -9,7 +9,7 @@ import java.time.LocalDateTime; import java.time.temporal.ChronoUnit; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/calculated/JpaCalculatedTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/calculated/JpaCalculatedTest.java index ee1a4f451..d5e7a9235 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/calculated/JpaCalculatedTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/calculated/JpaCalculatedTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.mapping.calculated; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.math.BigDecimal; @@ -9,7 +9,7 @@ import java.time.LocalDateTime; import java.time.temporal.ChronoUnit; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/compact/MySQLCountryByteIdTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/compact/MySQLCountryByteIdTest.java index 386c33873..641b94960 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/compact/MySQLCountryByteIdTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/compact/MySQLCountryByteIdTest.java @@ -6,7 +6,7 @@ import com.vladmihalcea.hpjp.util.providers.MySQLDataSourceProvider; import jakarta.persistence.*; import org.hibernate.cfg.AvailableSettings; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Properties; import java.util.concurrent.atomic.AtomicInteger; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/compact/MySQLCountryShortIdTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/compact/MySQLCountryShortIdTest.java index 71dd7cc19..782bfc6ee 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/compact/MySQLCountryShortIdTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/compact/MySQLCountryShortIdTest.java @@ -6,7 +6,7 @@ import com.vladmihalcea.hpjp.util.providers.MySQLDataSourceProvider; import jakarta.persistence.*; import org.hibernate.cfg.AvailableSettings; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Properties; import java.util.concurrent.atomic.AtomicInteger; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/compact/PostgreSQLCountryIntIdAutoPaddingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/compact/PostgreSQLCountryIntIdAutoPaddingTest.java index c30d1951c..f582c8bdc 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/compact/PostgreSQLCountryIntIdAutoPaddingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/compact/PostgreSQLCountryIntIdAutoPaddingTest.java @@ -5,7 +5,7 @@ import jakarta.persistence.*; import org.hibernate.cfg.AvailableSettings; import org.hibernate.tool.schema.Action; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Properties; import java.util.concurrent.atomic.AtomicInteger; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/compact/PostgreSQLCountryIntIdNoPaddingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/compact/PostgreSQLCountryIntIdNoPaddingTest.java index aa3acd6a9..4fcc921b7 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/compact/PostgreSQLCountryIntIdNoPaddingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/compact/PostgreSQLCountryIntIdNoPaddingTest.java @@ -5,7 +5,7 @@ import jakarta.persistence.*; import org.hibernate.cfg.AvailableSettings; import org.hibernate.tool.schema.Action; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Properties; import java.util.concurrent.atomic.AtomicInteger; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/compact/PostgreSQLCountryShortIdAutoPaddingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/compact/PostgreSQLCountryShortIdAutoPaddingTest.java index 1a20182a2..9a40e0ea0 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/compact/PostgreSQLCountryShortIdAutoPaddingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/compact/PostgreSQLCountryShortIdAutoPaddingTest.java @@ -5,7 +5,7 @@ import jakarta.persistence.*; import org.hibernate.cfg.AvailableSettings; import org.hibernate.tool.schema.Action; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Properties; import java.util.concurrent.atomic.AtomicInteger; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/compact/PostgreSQLCountryShortIdNoPaddingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/compact/PostgreSQLCountryShortIdNoPaddingTest.java index 6ca081a24..6537f7d20 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/compact/PostgreSQLCountryShortIdNoPaddingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/compact/PostgreSQLCountryShortIdNoPaddingTest.java @@ -5,7 +5,7 @@ import jakarta.persistence.*; import org.hibernate.cfg.AvailableSettings; import org.hibernate.tool.schema.Action; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Properties; import java.util.concurrent.atomic.AtomicInteger; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/embeddable/EmbeddableEntityListenerTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/embeddable/EmbeddableEntityListenerTest.java index b77d82aa6..3d5bf58c1 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/embeddable/EmbeddableEntityListenerTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/embeddable/EmbeddableEntityListenerTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.mapping.embeddable; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.time.LocalDateTime; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/embeddable/EmbeddableInheritanceTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/embeddable/EmbeddableInheritanceTest.java index 802ee5452..5c2d30e68 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/embeddable/EmbeddableInheritanceTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/embeddable/EmbeddableInheritanceTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.annotations.GenericGenerator; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.time.LocalDateTime; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/embeddable/EmbeddableTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/embeddable/EmbeddableTest.java index 782a46dd5..d50f0ffad 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/embeddable/EmbeddableTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/embeddable/EmbeddableTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.annotations.GenericGenerator; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; @@ -10,7 +10,7 @@ import java.util.ArrayList; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/encrypt/MySQLEncryptTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/encrypt/MySQLEncryptTest.java index 1cac3167d..bd01f45c7 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/encrypt/MySQLEncryptTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/encrypt/MySQLEncryptTest.java @@ -7,11 +7,11 @@ import org.hibernate.annotations.ColumnTransformer; import org.hibernate.dialect.Dialect; import org.hibernate.engine.spi.SessionFactoryImplementor; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea @@ -67,18 +67,13 @@ public void test() { private void setEncryptionKey(EntityManager entityManager) { Session session = entityManager.unwrap(Session.class); - Dialect dialect = session.getSessionFactory().unwrap(SessionFactoryImplementor.class).getJdbcServices().getDialect(); - String encryptionKey = ReflectionUtils.invokeMethod( - dialect, - "inlineLiteral", - "encryptionKey" - ); + String encryptionKey = "encryptionKey"; session.doWork(connection -> { update( connection, String.format( - "SET @encryption_key = %s", encryptionKey + "SET @encryption_key = '%s'", encryptionKey ) ); }); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/encrypt/MySQLJsonEncryptTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/encrypt/MySQLJsonEncryptTest.java index 4ef797588..8941a8397 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/encrypt/MySQLJsonEncryptTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/encrypt/MySQLJsonEncryptTest.java @@ -7,9 +7,9 @@ import jakarta.persistence.*; import org.hibernate.annotations.DynamicUpdate; import org.hibernate.annotations.Type; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/encrypt/PostgreSQLEncryptTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/encrypt/PostgreSQLEncryptTest.java index 83e0807ca..5b00da735 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/encrypt/PostgreSQLEncryptTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/encrypt/PostgreSQLEncryptTest.java @@ -2,13 +2,13 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import org.hibernate.annotations.ColumnTransformer; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/CustomOrdinalEnumConverterTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/CustomOrdinalEnumConverterTest.java index 804f76bde..681f73930 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/CustomOrdinalEnumConverterTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/CustomOrdinalEnumConverterTest.java @@ -4,9 +4,9 @@ import com.vladmihalcea.hpjp.util.providers.Database; import io.hypersistence.utils.hibernate.type.basic.CustomOrdinalEnumConverter; import jakarta.persistence.*; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumCustomOrdinalTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumCustomOrdinalTest.java index ab865cd3d..b0da37314 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumCustomOrdinalTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumCustomOrdinalTest.java @@ -9,13 +9,13 @@ import jakarta.persistence.Table; import org.hibernate.annotations.JavaType; import org.hibernate.type.descriptor.java.EnumJavaType; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.HashMap; import java.util.Map; import java.util.TreeMap; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumOrdinalDescriptionMySQLTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumOrdinalDescriptionMySQLTest.java index accb38974..5caabe5e2 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumOrdinalDescriptionMySQLTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumOrdinalDescriptionMySQLTest.java @@ -5,11 +5,11 @@ import jakarta.persistence.*; import org.hibernate.cfg.AvailableSettings; import org.hibernate.exception.ConstraintViolationException; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Properties; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * @author Vlad Mihalcea @@ -75,7 +75,7 @@ public void testPendingPost() { .getSingleResult(); assertEquals("PENDING", tuple.get("name")); - assertEquals("Posts waiting to be approved by the admin", tuple.get("description")); + assertEquals("Post waiting to be approved", tuple.get("description")); }); } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumOrdinalDescriptionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumOrdinalDescriptionTest.java index b0aa53198..a1ff69836 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumOrdinalDescriptionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumOrdinalDescriptionTest.java @@ -4,9 +4,9 @@ import com.vladmihalcea.hpjp.util.providers.Database; import jakarta.persistence.*; import org.hibernate.exception.ConstraintViolationException; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumOrdinalMySQLWithCheckTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumOrdinalMySQLWithCheckTest.java index 394da2e5d..205736c69 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumOrdinalMySQLWithCheckTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumOrdinalMySQLWithCheckTest.java @@ -7,14 +7,14 @@ import org.hibernate.Session; import org.hibernate.annotations.DynamicUpdate; import org.hibernate.cfg.AvailableSettings; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.PreparedStatement; import java.util.Properties; import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.TimeUnit; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * @author Vlad Mihalcea @@ -99,7 +99,7 @@ INSERT INTO post (title, status) fail("Should not store the ordinal value of 99!"); }); } catch (JDBCException e) { - assertTrue(e.getMessage().contains("Check constraint 'post_status_enum' is violated")); + assertTrue(e.getMessage().contains("CHK_status_enum_value")); } } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumOrdinalMySQLWithoutCheckTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumOrdinalMySQLWithoutCheckTest.java index 0ba22ef30..9bc5ca94e 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumOrdinalMySQLWithoutCheckTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumOrdinalMySQLWithoutCheckTest.java @@ -4,12 +4,12 @@ import com.vladmihalcea.hpjp.util.providers.Database; import jakarta.persistence.*; import org.hibernate.cfg.AvailableSettings; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Properties; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumOrdinalOracleTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumOrdinalOracleTest.java index be8d8a30c..204b36143 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumOrdinalOracleTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumOrdinalOracleTest.java @@ -4,9 +4,9 @@ import com.vladmihalcea.hpjp.util.providers.Database; import jakarta.persistence.*; import org.hibernate.exception.ConstraintViolationException; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumOrdinalTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumOrdinalTest.java index 18e3f9780..bc4e90c42 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumOrdinalTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumOrdinalTest.java @@ -4,9 +4,9 @@ import com.vladmihalcea.hpjp.util.providers.Database; import jakarta.persistence.*; import org.hibernate.exception.ConstraintViolationException; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumPostgreSQLTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumPostgreSQLTest.java index 77b474304..21ead7e45 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumPostgreSQLTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumPostgreSQLTest.java @@ -1,18 +1,19 @@ package com.vladmihalcea.hpjp.hibernate.mapping.enums; import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; -import com.vladmihalcea.hpjp.util.providers.Database; -import jakarta.persistence.*; +import jakarta.persistence.Entity; +import jakarta.persistence.Enumerated; +import jakarta.persistence.Id; +import jakarta.persistence.Table; import org.hibernate.annotations.DynamicUpdate; import org.hibernate.annotations.JdbcType; -import org.hibernate.annotations.Type; import org.hibernate.cfg.AvailableSettings; -import org.hibernate.dialect.PostgreSQLEnumJdbcType; -import org.junit.Test; +import org.hibernate.dialect.type.PostgreSQLEnumJdbcType; +import org.junit.jupiter.api.Test; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumStringPostgreSQLWithCheckTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumStringPostgreSQLWithCheckTest.java index 0a5d991b4..db65099a2 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumStringPostgreSQLWithCheckTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumStringPostgreSQLWithCheckTest.java @@ -8,14 +8,14 @@ import org.hibernate.annotations.DynamicUpdate; import org.hibernate.cfg.AvailableSettings; import org.hibernate.exception.ConstraintViolationException; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.PreparedStatement; import java.util.Properties; import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.TimeUnit; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumStringPostgreSQLWithoutCheckTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumStringPostgreSQLWithoutCheckTest.java index 77613c24b..01f98c51b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumStringPostgreSQLWithoutCheckTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumStringPostgreSQLWithoutCheckTest.java @@ -5,12 +5,12 @@ import jakarta.persistence.*; import org.hibernate.annotations.DynamicUpdate; import org.hibernate.cfg.AvailableSettings; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Properties; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumStringTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumStringTest.java index dab4b28fc..11e75d4c6 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumStringTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/enums/EnumStringTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; import jakarta.persistence.*; -import org.junit.Test; +import org.junit.jupiter.api.Test; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/generated/LoggedUserTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/generated/LoggedUserTest.java index e858fbfc7..28ed04f26 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/generated/LoggedUserTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/generated/LoggedUserTest.java @@ -1,20 +1,24 @@ package com.vladmihalcea.hpjp.hibernate.mapping.generated; import com.vladmihalcea.hpjp.util.AbstractMySQLIntegrationTest; -import org.hibernate.Session; -import org.hibernate.annotations.GenerationTime; -import org.hibernate.annotations.GeneratorType; -import org.hibernate.tuple.ValueGenerator; -import org.junit.Test; - import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; - import jakarta.persistence.Table; -import javax.servlet.*; -import javax.servlet.http.HttpServletRequest; -import java.io.IOException; +import org.hibernate.annotations.ValueGenerationType; +import org.hibernate.engine.spi.SharedSessionContractImplementor; +import org.hibernate.generator.*; +import org.junit.jupiter.api.Test; + +import java.lang.annotation.Annotation; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; +import java.lang.reflect.Member; +import java.util.EnumSet; + +import static java.lang.annotation.ElementType.FIELD; +import static java.lang.annotation.ElementType.METHOD; /** * @author Vlad Mihalcea @@ -24,7 +28,7 @@ public class LoggedUserTest extends AbstractMySQLIntegrationTest { @Override protected Class[] entities() { return new Class[]{ - Sensor.class + Sensor.class }; } @@ -94,17 +98,11 @@ public static class Sensor { private String value; @Column(name = "created_by") - @GeneratorType( - type = LoggedUserGenerator.class, - when = GenerationTime.INSERT - ) + @CurrentLoggedUser private String createdBy; @Column(name = "updated_by") - @GeneratorType( - type = LoggedUserGenerator.class, - when = GenerationTime.ALWAYS - ) + @CurrentLoggedUser private String updatedBy; public String getName() { @@ -149,40 +147,29 @@ public static String get() { } } - public static class LoggedUserGenerator - implements ValueGenerator { + public static class LoggedUserGenerator implements AnnotationBasedGenerator, BeforeExecutionGenerator { - @Override - public String generateValue( - Session session, Object owner) { - return LoggedUser.get(); + public LoggedUserGenerator() { } - } - - public static class LoggedUserFilter implements Filter { @Override - public void init(FilterConfig filterConfig) throws ServletException { + public void initialize(Annotation annotation, Member member, GeneratorCreationContext generatorCreationContext) { + } @Override - public void doFilter(ServletRequest request, ServletResponse response, - FilterChain filterChain) - throws IOException, ServletException { - - try { - HttpServletRequest httpServletRequest = (HttpServletRequest) request; - LoggedUser.logIn(httpServletRequest.getRemoteUser()); - - filterChain.doFilter(request, response); - } - finally { - LoggedUser.logOut(); - } + public Object generate(SharedSessionContractImplementor sharedSessionContractImplementor, Object o, Object o1, EventType eventType) { + return LoggedUser.get(); } @Override - public void destroy() { + public EnumSet getEventTypes() { + return EventTypeSets.INSERT_AND_UPDATE; } } + + @ValueGenerationType(generatedBy = LoggedUserGenerator.class) + @Retention(RetentionPolicy.RUNTIME) + @Target({FIELD, METHOD}) + public @interface CurrentLoggedUser { } } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/generated/SequenceDefaultColumnValueTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/generated/SequenceDefaultColumnValueTest.java index 9a878b0e6..a9327bcc3 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/generated/SequenceDefaultColumnValueTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/generated/SequenceDefaultColumnValueTest.java @@ -1,14 +1,14 @@ package com.vladmihalcea.hpjp.hibernate.mapping.generated; import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.Id; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea @@ -22,7 +22,8 @@ protected Class[] entities() { }; } - public void init() { + @Override + public void beforeInit() { executeStatement("DROP SEQUENCE sensor_seq"); executeStatement(""" CREATE SEQUENCE @@ -30,7 +31,6 @@ public void init() { START 100 """ ); - super.init(); } @Test diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/softdelete/SoftDeleteAnnotationTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/softdelete/SoftDeleteAnnotationTest.java index 1da10e845..6a4e3fb01 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/softdelete/SoftDeleteAnnotationTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/softdelete/SoftDeleteAnnotationTest.java @@ -8,7 +8,7 @@ import org.hibernate.annotations.NotFound; import org.hibernate.annotations.NotFoundAction; import org.hibernate.annotations.SoftDelete; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.Timestamp; import java.time.LocalDateTime; @@ -16,7 +16,7 @@ import java.util.Date; import java.util.List; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * @author Vlad Mihalcea @@ -89,7 +89,7 @@ public void testRemoveTag() { }); doInJPA(entityManager -> { - //That would not work without @Loader(namedQuery = "findTagById") + //That would not work without @HQLSelect(query = "findTagById") assertNull(entityManager.find(Tag.class, _miscTag.getId())); }); @@ -107,7 +107,7 @@ select count(t) = 1 doInJPA(entityManager -> { List tags = entityManager.createQuery("select t from Tag t", Tag.class).getResultList(); - //That would not work without @Where(clause = "deleted = false") + //That would not work without @SQLRestriction("deleted = false") assertEquals(3, tags.size()); }); } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/softdelete/SoftDeleteTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/softdelete/SoftDeleteTest.java index 381ce5276..56f9b489f 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/softdelete/SoftDeleteTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/softdelete/SoftDeleteTest.java @@ -3,11 +3,11 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import jakarta.persistence.*; import org.hibernate.Session; -import org.hibernate.annotations.Loader; +import org.hibernate.annotations.HQLSelect; import org.hibernate.annotations.NaturalId; import org.hibernate.annotations.SQLDelete; -import org.hibernate.annotations.Where; -import org.junit.Test; +import org.hibernate.annotations.SQLRestriction; +import org.junit.jupiter.api.Test; import java.sql.Timestamp; import java.time.LocalDateTime; @@ -15,7 +15,7 @@ import java.util.Date; import java.util.List; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * @author Vlad Mihalcea @@ -86,13 +86,13 @@ public void testRemoveTag() { }); doInJPA(entityManager -> { - //That would not work without @Loader(namedQuery = "findTagById") + //That would not work without @HQLSelect(query = "findTagById") assertNull(entityManager.find(Tag.class, miscTag.getId())); }); doInJPA(entityManager -> { List tags = entityManager.createQuery("select t from Tag t", Tag.class).getResultList(); - //That would not work without @Where(clause = "deleted = false") + //That would not work without @SQLRestriction("deleted = false") assertEquals(3, tags.size()); }); } @@ -224,15 +224,14 @@ public void testRemoveAndFindPostComment() { SET deleted = true WHERE id = ?1 """) - @Loader(namedQuery = "findPostById") - @NamedQuery(name = "findPostById", query = """ + @HQLSelect(query = """ select p from Post p where p.id = ?1 and p.deleted = false """) - @Where(clause = "deleted = false") + @SQLRestriction("deleted = false") public static class Post extends SoftDeletable { @Id @@ -330,15 +329,14 @@ public Post addTag(Tag tag) { SET deleted = true WHERE id = ? """) - @Loader(namedQuery = "findPostDetailsById") - @NamedQuery(name = "findPostDetailsById", query = """ + @HQLSelect(query = """ select pd from PostDetails pd where pd.id = ?1 and pd.deleted = false """) - @Where(clause = "deleted = false") + @SQLRestriction("deleted = false") public static class PostDetails extends SoftDeletable { @Id @@ -403,15 +401,14 @@ public PostDetails setCreatedBy(String createdBy) { SET deleted = true WHERE id = ? """) - @Loader(namedQuery = "findPostCommentById") - @NamedQuery(name = "findPostCommentById", query = """ + @HQLSelect(query = """ select pc from PostComment pc where pc.id = ?1 and pc.deleted = false """) - @Where(clause = "deleted = false") + @SQLRestriction("deleted = false") public static class PostComment extends SoftDeletable { @Id @@ -457,15 +454,14 @@ public PostComment setReview(String review) { SET deleted = true WHERE id = ? """) - @Loader(namedQuery = "findTagById") - @NamedQuery(name = "findTagById", query = """ + @HQLSelect(query = """ select t from Tag t where t.id = ?1 and t.deleted = false """) - @Where(clause = "deleted = false") + @SQLRestriction("deleted = false") public static class Tag extends SoftDeletable { @Id diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/softdelete/SoftDeleteVersionAnnotationTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/softdelete/SoftDeleteVersionAnnotationTest.java index 342b608e3..41cafeab6 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/softdelete/SoftDeleteVersionAnnotationTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/softdelete/SoftDeleteVersionAnnotationTest.java @@ -7,7 +7,7 @@ import org.hibernate.annotations.NotFound; import org.hibernate.annotations.NotFoundAction; import org.hibernate.annotations.SoftDelete; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.Timestamp; import java.time.LocalDateTime; @@ -15,7 +15,7 @@ import java.util.Date; import java.util.List; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * @author Vlad Mihalcea @@ -88,7 +88,7 @@ public void testRemoveTag() { }); doInJPA(entityManager -> { - //That would not work without @Loader(namedQuery = "findTagById") + //That would not work without @HQLSelect(query = "findTagById") assertNull(entityManager.find(Tag.class, _miscTag.getId())); }); @@ -106,7 +106,7 @@ select count(t) = 1 doInJPA(entityManager -> { List tags = entityManager.createQuery("select t from Tag t", Tag.class).getResultList(); - //That would not work without @Where(clause = "deleted = false") + //That would not work without @SQLRestriction("deleted = false") assertEquals(3, tags.size()); }); } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/softdelete/SoftDeleteVersionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/softdelete/SoftDeleteVersionTest.java index 3a0357c6b..d298d60be 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/softdelete/SoftDeleteVersionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/softdelete/SoftDeleteVersionTest.java @@ -5,19 +5,17 @@ import jakarta.persistence.*; import org.hibernate.Session; import org.hibernate.StaleStateException; -import org.hibernate.annotations.Loader; +import org.hibernate.annotations.HQLSelect; import org.hibernate.annotations.NaturalId; import org.hibernate.annotations.SQLDelete; -import org.hibernate.annotations.Where; -import org.junit.Test; +import org.hibernate.annotations.SQLRestriction; +import org.junit.jupiter.api.Test; -import java.sql.Timestamp; -import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Date; import java.util.List; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * @author Vlad Mihalcea @@ -80,7 +78,7 @@ public void testRemoveTag() { }); doInJPA(entityManager -> { - //That would not work without @Loader(namedQuery = "findTagById") + //That would not work without @HQLSelect(query = "findTagById") assertNull(entityManager.find(Tag.class, miscTag.getId())); assertEquals( @@ -104,7 +102,7 @@ public void testRemoveTag() { from Tag t """, Tag.class) .getResultList(); - //That would not work without @Where(clause = "deleted = false") + //That would not work without @SQLRestriction("deleted = false") assertEquals(3, tags.size()); }); } @@ -275,15 +273,15 @@ public void testConcurrentUpdate() { id = ? AND version = ? """) - @Loader(namedQuery = "findPostById") - @NamedQuery(name = "findPostById", query = """ + @HQLSelect(query = """ select p from Post p where p.id = ?1 and p.deleted = false - """) - @Where(clause = "deleted = false") + """ + ) + @SQLRestriction("deleted = false") public static class Post extends SoftDeletable { @Id @@ -389,15 +387,14 @@ public Post addTag(Tag tag) { id = ? AND version = ? """) - @Loader(namedQuery = "findPostDetailsById") - @NamedQuery(name = "findPostDetailsById", query = """ + @HQLSelect(query = """ select pd from PostDetails pd where pd.id = ?1 and pd.deleted = false """) - @Where(clause = "deleted = false") + @SQLRestriction("deleted = false") public static class PostDetails extends SoftDeletable { @Id @@ -466,15 +463,14 @@ public PostDetails setCreatedBy(String createdBy) { id = ? AND version = ? """) - @Loader(namedQuery = "findPostCommentById") - @NamedQuery(name = "findPostCommentById", query = """ + @HQLSelect(query = """ select pc from PostComment pc where pc.id = ?1 and pc.deleted = false """) - @Where(clause = "deleted = false") + @SQLRestriction("deleted = false") public static class PostComment extends SoftDeletable { @Id @@ -528,15 +524,14 @@ public PostComment setReview(String review) { id = ? AND version = ? """) - @Loader(namedQuery = "findTagById") - @NamedQuery(name = "findTagById", query = """ + @HQLSelect(query = """ select t from Tag t where t.id = ?1 and t.deleted = false """) - @Where(clause = "deleted = false") + @SQLRestriction("deleted = false") public static class Tag extends SoftDeletable { @Id diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/types/EmbeddedTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/types/EmbeddedTest.java index 5461100a6..5d7cdc068 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/types/EmbeddedTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/mapping/types/EmbeddedTest.java @@ -3,11 +3,11 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; import org.hibernate.cfg.AvailableSettings; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/metadata/MetadataExtractorIntegrator.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/metadata/MetadataExtractorIntegrator.java index 067c6b70d..d8dbd3502 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/metadata/MetadataExtractorIntegrator.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/metadata/MetadataExtractorIntegrator.java @@ -2,7 +2,9 @@ import org.hibernate.boot.Metadata; import org.hibernate.boot.model.relational.Database; +import org.hibernate.boot.spi.BootstrapContext; import org.hibernate.engine.spi.SessionFactoryImplementor; +import org.hibernate.event.service.spi.EventListenerRegistry; import org.hibernate.service.spi.SessionFactoryServiceRegistry; /** @@ -25,14 +27,11 @@ public Metadata getMetadata() { } @Override - public void integrate( - Metadata metadata, - SessionFactoryImplementor sessionFactory, - SessionFactoryServiceRegistry serviceRegistry) { + public void integrate(Metadata metadata, BootstrapContext bootstrapContext, SessionFactoryImplementor sessionFactory) { + final EventListenerRegistry eventListenerRegistry = sessionFactory.getServiceRegistry().getService(EventListenerRegistry.class); this.database = metadata.getDatabase(); this.metadata = metadata; - } @Override diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/metadata/MetadataTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/metadata/MetadataTest.java index 078f410c9..72ebba292 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/metadata/MetadataTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/metadata/MetadataTest.java @@ -9,7 +9,7 @@ import org.hibernate.mapping.PersistentClass; import org.hibernate.mapping.Property; import org.hibernate.mapping.Table; -import org.junit.Test; +import org.junit.jupiter.api.Test; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/multitenancy/CatalogMultitenancyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/multitenancy/CatalogMultitenancyTest.java index 709bd1969..9102e2884 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/multitenancy/CatalogMultitenancyTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/multitenancy/CatalogMultitenancyTest.java @@ -10,7 +10,7 @@ import org.hibernate.cfg.AvailableSettings; import org.hibernate.cfg.Environment; import org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl; -import org.junit.Test; +import org.junit.jupiter.api.Test; import javax.sql.DataSource; import java.sql.Statement; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/multitenancy/SchemaMultitenancyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/multitenancy/SchemaMultitenancyTest.java index fb0d6dcf9..267b7da79 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/multitenancy/SchemaMultitenancyTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/multitenancy/SchemaMultitenancyTest.java @@ -8,7 +8,7 @@ import org.hibernate.cfg.AvailableSettings; import org.hibernate.cfg.Environment; import org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.postgresql.ds.PGSimpleDataSource; import javax.sql.DataSource; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/multitenancy/partition/PostgreSQLTablePartitionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/multitenancy/partition/PostgreSQLTablePartitionTest.java index 24d7469b9..7e0fd63bc 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/multitenancy/partition/PostgreSQLTablePartitionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/multitenancy/partition/PostgreSQLTablePartitionTest.java @@ -6,12 +6,12 @@ import com.vladmihalcea.hpjp.util.providers.Database; import org.hibernate.Session; import org.hibernate.cfg.AvailableSettings; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.List; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/multitenancy/partition/TablePartitionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/multitenancy/partition/TablePartitionTest.java index 571eef075..b4c4e1180 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/multitenancy/partition/TablePartitionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/multitenancy/partition/TablePartitionTest.java @@ -4,11 +4,11 @@ import com.vladmihalcea.hpjp.hibernate.multitenancy.partition.model.User; import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/multitenancy/partition/model/Post.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/multitenancy/partition/model/Post.java index 49c955d4f..9ac78a6fb 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/multitenancy/partition/model/Post.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/multitenancy/partition/model/Post.java @@ -23,7 +23,18 @@ public class Post extends PartitionAware { private LocalDateTime createdOn; @ManyToOne(fetch = FetchType.LAZY) - @JoinColumn(name = "user_id") + @JoinColumns({ + @JoinColumn( + name = "user_id", + referencedColumnName = "id", + insertable = false, updatable = false + ), + @JoinColumn( + name = "partition_key", + referencedColumnName = "partition_key", + insertable = false, updatable = false + ) + }) private User user; public Long getId() { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/naming/CamelCaseToSnakeCaseNamingStrategyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/naming/CamelCaseToSnakeCaseNamingStrategyTest.java index 8ac9fa8a7..108a8c73d 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/naming/CamelCaseToSnakeCaseNamingStrategyTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/naming/CamelCaseToSnakeCaseNamingStrategyTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; @@ -11,7 +11,7 @@ import java.time.LocalDate; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/naming/DefaultNamingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/naming/DefaultNamingTest.java index 057a70ff2..acc476f15 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/naming/DefaultNamingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/naming/DefaultNamingTest.java @@ -1,13 +1,13 @@ package com.vladmihalcea.hpjp.hibernate.naming; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.ManyToOne; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/pc/CloneTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/pc/CloneTest.java index e04897ef3..81a4234e2 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/pc/CloneTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/pc/CloneTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import jakarta.persistence.*; import org.hibernate.annotations.CreationTimestamp; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.*; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/pc/SaveVariantsSelectBeforeUpdateTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/pc/SaveVariantsSelectBeforeUpdateTest.java deleted file mode 100644 index 7f34a4aa8..000000000 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/pc/SaveVariantsSelectBeforeUpdateTest.java +++ /dev/null @@ -1,93 +0,0 @@ -package com.vladmihalcea.hpjp.hibernate.pc; - -import com.vladmihalcea.hpjp.util.AbstractTest; -import org.hibernate.Session; -import org.hibernate.annotations.SelectBeforeUpdate; -import org.junit.Test; - -import jakarta.persistence.Entity; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.Id; -import jakarta.persistence.Table; - -public class SaveVariantsSelectBeforeUpdateTest extends AbstractTest { - - @Override - protected Class[] entities() { - return new Class[]{ - Book.class - }; - } - - @Test - public void testUpdate() { - Book _book = doInJPA(entityManager -> { - Book book = new Book() - .setIsbn("978-9730228236") - .setTitle("High-Performance Java Persistence") - .setAuthor("Vlad Mihalcea"); - - entityManager.persist(book); - - return book; - }); - - doInJPA(entityManager -> { - Session session = entityManager.unwrap(Session.class); - - session.update(_book); - }); - } - - @Entity(name = "Book") - @Table(name = "book") - @SelectBeforeUpdate - public static class Book { - - @Id - @GeneratedValue - private Long id; - - private String isbn; - - private String title; - - private String author; - - public Long getId() { - return id; - } - - public Book setId(Long id) { - this.id = id; - return this; - } - - public String getIsbn() { - return isbn; - } - - public Book setIsbn(String isbn) { - this.isbn = isbn; - return this; - } - - public String getTitle() { - return title; - } - - public Book setTitle(String title) { - this.title = title; - return this; - } - - public String getAuthor() { - return author; - } - - public Book setAuthor(String author) { - this.author = author; - return this; - } - } -} diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/pc/SaveVariantsTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/pc/SaveVariantsTest.java index 687aa5bb3..f546b708f 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/pc/SaveVariantsTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/pc/SaveVariantsTest.java @@ -1,16 +1,13 @@ package com.vladmihalcea.hpjp.hibernate.pc; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.hibernate.NonUniqueObjectException; -import org.hibernate.Session; -import org.junit.Test; - import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.Id; import jakarta.persistence.Table; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotSame; public class SaveVariantsTest extends AbstractTest { @@ -35,148 +32,6 @@ public void testPersist() { }); } - @Test - public void testSave() { - doInJPA(entityManager -> { - Book book = new Book() - .setIsbn("978-9730228236") - .setTitle("High-Performance Java Persistence") - .setAuthor("Vlad Mihalcea"); - - Session session = entityManager.unwrap(Session.class); - - Long id = (Long) session.save(book); - - LOGGER.info("Saving the Book entity with the id: {}", id); - }); - } - - @Test - public void testUpdate() { - Book _book = doInJPA(entityManager -> { - Book book = new Book() - .setIsbn("978-9730228236") - .setTitle("High-Performance Java Persistence") - .setAuthor("Vlad Mihalcea"); - - entityManager.persist(book); - - return book; - }); - - LOGGER.info("Modifying the Book entity"); - - _book.setTitle("High-Performance Java Persistence, 2nd edition"); - - doInJPA(entityManager -> { - Session session = entityManager.unwrap(Session.class); - - session.update(_book); - - LOGGER.info("Updating the Book entity"); - }); - } - - @Test - public void testUpdateWithoutModification() { - Book _book = doInJPA(entityManager -> { - Book book = new Book() - .setIsbn("978-9730228236") - .setTitle("High-Performance Java Persistence") - .setAuthor("Vlad Mihalcea"); - - entityManager.persist(book); - - return book; - }); - - doInJPA(entityManager -> { - Session session = entityManager.unwrap(Session.class); - - session.update(_book); - - LOGGER.info("Updating the Book entity"); - }); - } - - @Test(expected = NonUniqueObjectException.class) - public void testUpdateFailAlreadyManaged() { - Book _book = doInJPA(entityManager -> { - Book book = new Book() - .setIsbn("978-9730228236") - .setTitle("High-Performance Java Persistence") - .setAuthor("Vlad Mihalcea"); - - entityManager.persist(book); - - return book; - }); - - _book.setTitle("High-Performance Java Persistence, 2nd edition"); - - doInJPA(entityManager -> { - Book book = entityManager.find(Book.class, _book.getId()); - - Session session = entityManager.unwrap(Session.class); - - session.update(_book); - }); - } - - @Test - public void testSaveUpdate() { - Book _book = doInJPA(entityManager -> { - Book book = new Book() - .setIsbn("978-9730228236") - .setTitle("High-Performance Java Persistence") - .setAuthor("Vlad Mihalcea"); - - Session session = entityManager.unwrap(Session.class); - session.saveOrUpdate(book); - - return book; - }); - - _book.setTitle("High-Performance Java Persistence, 2nd edition"); - - doInJPA(entityManager -> { - Session session = entityManager.unwrap(Session.class); - session.saveOrUpdate(_book); - }); - } - - @Test - public void testSaveOrUpdateFailAlreadyManaged() { - Book _book = doInJPA(entityManager -> { - Book book = new Book() - .setIsbn("978-9730228236") - .setTitle("High-Performance Java Persistence") - .setAuthor("Vlad Mihalcea"); - - Session session = entityManager.unwrap(Session.class); - session.saveOrUpdate(book); - - return book; - }); - - _book.setTitle("High-Performance Java Persistence, 2nd edition"); - - try { - doInJPA(entityManager -> { - Book book = entityManager.find(Book.class, _book.getId()); - - Session session = entityManager.unwrap(Session.class); - session.saveOrUpdate(_book); - }); - } catch (NonUniqueObjectException e) { - LOGGER.error( - "The Persistence Context cannot hold " + - "two representations of the same entity", - e - ); - } - } - @Test public void testMerge() { Book _book = doInJPA(entityManager -> { @@ -199,7 +54,7 @@ public void testMerge() { LOGGER.info("Merging the Book entity"); - assertFalse(book == _book); + assertNotSame(book, _book); }); } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/EscapeLikeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/EscapeLikeTest.java index ed8bbd2bd..3c33556f9 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/EscapeLikeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/EscapeLikeTest.java @@ -2,13 +2,13 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Entity; import jakarta.persistence.Id; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/InQueryTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/InQueryTest.java index 4bbea98f7..f74a06ffd 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/InQueryTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/InQueryTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.query; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; @@ -9,7 +9,7 @@ import java.util.List; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/JoinUnrelatedEntitiesTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/JoinUnrelatedEntitiesTest.java index 159f27551..c6ba689da 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/JoinUnrelatedEntitiesTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/JoinUnrelatedEntitiesTest.java @@ -3,14 +3,14 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.annotations.CreationTimestamp; import org.hibernate.annotations.NaturalId; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.Date; import java.util.List; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/ManyToManyFetchParentWithChildMatchAllFilteringCriteriaTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/ManyToManyFetchParentWithChildMatchAllFilteringCriteriaTest.java index 6c1ac34a0..2638a2930 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/ManyToManyFetchParentWithChildMatchAllFilteringCriteriaTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/ManyToManyFetchParentWithChildMatchAllFilteringCriteriaTest.java @@ -1,14 +1,14 @@ package com.vladmihalcea.hpjp.hibernate.query; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.io.Serializable; import java.util.*; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea @@ -85,18 +85,18 @@ protected void afterInit() { } @Test - @Ignore + @Disabled public void testJPQLBroken() { doInJPA(entityManager -> { - List clusters = entityManager.createQuery( - "select distinct c " + - "from ClusterTag ct " + - "join ct.cluster c " + - "join ct.tag t " + - "where " + - " (t.name = :tagName1 and t.value = :tagValue1) or " + - " (t.name = :tagName2 and t.value = :tagValue2) " - , Cluster.class) + List clusters = entityManager.createQuery(""" + select distinct c + from ClusterTag ct + join ct.cluster c + join ct.tag t + where + (t.name = :tagName1 and t.value = :tagValue1) or + (t.name = :tagName2 and t.value = :tagValue2) + """, Cluster.class) .setParameter("tagName1", "Spark") .setParameter("tagValue1", "2.2") .setParameter("tagName2", "Hadoop") @@ -110,19 +110,20 @@ public void testJPQLBroken() { @Test public void testNativeQueryJoin() { doInJPA(entityManager -> { - List clusters = entityManager.createNativeQuery( - "SELECT * " + - "FROM cluster c " + - "JOIN (" + - " SELECT ct.cluster_id AS c_id " + - " FROM cluster_tag ct " + - " JOIN tag t ON ct.tag_id = t.id " + - " WHERE " + - " (t.tag_name = :tagName1 AND t.tag_value = :tagValue1) OR " + - " (t.tag_name = :tagName2 AND t.tag_value = :tagValue2) " + - " GROUP BY ct.cluster_id " + - " HAVING COUNT(*) = 2" + - ") ct1 on c.id = ct1.c_id ", Cluster.class) + List clusters = entityManager.createNativeQuery(""" + SELECT * + FROM cluster c + JOIN ( + SELECT ct.cluster_id AS c_id + FROM cluster_tag ct + JOIN tag t ON ct.tag_id = t.id + WHERE + (t.tag_name = :tagName1 AND t.tag_value = :tagValue1) OR + (t.tag_name = :tagName2 AND t.tag_value = :tagValue2) + GROUP BY ct.cluster_id + HAVING COUNT(*) = 2 + ) ct1 on c.id = ct1.c_id + """, Cluster.class) .setParameter("tagName1", "Spark") .setParameter("tagValue1", "2.2") .setParameter("tagName2", "Hadoop") @@ -136,21 +137,20 @@ public void testNativeQueryJoin() { @Test public void testNativeQueryExists() { doInJPA(entityManager -> { - List clusters = entityManager.createNativeQuery( - "SELECT * " + - "FROM cluster c " + - "WHERE EXISTS (" + - " SELECT ct.cluster_id as c_id " + - " FROM cluster_tag ct " + - " JOIN tag t ON ct.tag_id = t.id " + - " WHERE " + - " c.id = ct.cluster_id AND ( " + - " (t.tag_name = :tagName1 AND t.tag_value = :tagValue1) OR " + - " (t.tag_name = :tagName2 AND t.tag_value = :tagValue2) " + - " )" + - " GROUP BY ct.cluster_id " + - " HAVING COUNT(*) = 2 " + - ") ", Cluster.class) + List clusters = entityManager.createNativeQuery(""" + SELECT * + FROM cluster c + WHERE EXISTS ( SELECT ct.cluster_id as c_id + FROM cluster_tag ct + JOIN tag t ON ct.tag_id = t.id + WHERE + c.id = ct.cluster_id AND ( + (t.tag_name = :tagName1 AND t.tag_value = :tagValue1) OR + (t.tag_name = :tagName2 AND t.tag_value = :tagValue2) + ) GROUP BY ct.cluster_id + HAVING COUNT(*) = 2 + ) + """, Cluster.class) .setParameter("tagName1", "Spark") .setParameter("tagValue1", "2.2") .setParameter("tagName2", "Hadoop") @@ -164,22 +164,20 @@ public void testNativeQueryExists() { @Test public void testJPQLExists() { doInJPA(entityManager -> { - List clusters = entityManager.createQuery( - "select c " + - "from Cluster c " + - "where exists (" + - " select ctc.id " + - " from ClusterTag ct " + - " join ct.cluster ctc " + - " join ct.tag ctt " + - " where " + - " c.id = ctc.id and ( " + - " (ctt.name = :tagName1 and ctt.value = :tagValue1) or " + - " (ctt.name = :tagName2 and ctt.value = :tagValue2) " + - " )" + - " group by ctc.id " + - " having count(*) = 2" + - ") ", Cluster.class) + List clusters = entityManager.createQuery(""" + select c + from Cluster c + where exists ( select ctc.id + from ClusterTag ct + join ct.cluster ctc + join ct.tag ctt + where + c.id = ctc.id and ( + (ctt.name = :tagName1 and ctt.value = :tagValue1) or + (ctt.name = :tagName2 and ctt.value = :tagValue2) + ) group by ctc.id + having count(*) = 2) + """, Cluster.class) .setParameter("tagName1", "Spark") .setParameter("tagValue1", "2.2") .setParameter("tagName2", "Hadoop") @@ -193,21 +191,19 @@ public void testJPQLExists() { @Test public void testJPQLExistsImplicitJoin() { doInJPA(entityManager -> { - List clusters = entityManager.createQuery( - "select c " + - "from Cluster c " + - "where exists (" + - " select ct.cluster.id " + - " from ClusterTag ct " + - " join ct.tag ctt " + - " where " + - " c.id = ct.cluster.id and ( " + - " (ctt.name = :tagName1 and ctt.value = :tagValue1) or " + - " (ctt.name = :tagName2 and ctt.value = :tagValue2) " + - " )" + - " group by ct.cluster.id " + - " having count(*) = 2" + - ") ", Cluster.class) + List clusters = entityManager.createQuery(""" + select c + from Cluster c + where exists ( select ct.cluster.id + from ClusterTag ct + join ct.tag ctt + where + c.id = ct.cluster.id and ( + (ctt.name = :tagName1 and ctt.value = :tagValue1) or + (ctt.name = :tagName2 and ctt.value = :tagValue2) + ) group by ct.cluster.id + having count(*) = 2) + """, Cluster.class) .setParameter("tagName1", "Spark") .setParameter("tagValue1", "2.2") .setParameter("tagName2", "Hadoop") diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/MySQLExecutionPlanTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/MySQLExecutionPlanTest.java index 9494fd329..aadfce520 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/MySQLExecutionPlanTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/MySQLExecutionPlanTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/NativeQueryEntityMappingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/NativeQueryEntityMappingTest.java index 43dc1dbf8..6d1c4bf8b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/NativeQueryEntityMappingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/NativeQueryEntityMappingTest.java @@ -3,14 +3,14 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import jakarta.persistence.*; import org.hibernate.query.NativeQuery; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.HashSet; import java.util.List; import java.util.Objects; import java.util.Set; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/NativeQueryWithCustomSchemaTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/NativeQueryWithCustomSchemaTest.java index 3f5943245..4a577f7cb 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/NativeQueryWithCustomSchemaTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/NativeQueryWithCustomSchemaTest.java @@ -2,8 +2,8 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import org.hibernate.cfg.AvailableSettings; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.sql.Timestamp; @@ -12,7 +12,7 @@ import java.util.List; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea @@ -34,7 +34,7 @@ protected Properties properties() { } @Test - @Ignore + @Disabled public void test() { doInJPA(entityManager -> { Event firstPartRelease = new Event(); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/OracleExecutionPlanNativeQueryTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/OracleExecutionPlanNativeQueryTest.java index f8ba942f5..f5e898c3b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/OracleExecutionPlanNativeQueryTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/OracleExecutionPlanNativeQueryTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.query; import com.vladmihalcea.hpjp.util.AbstractOracleIntegrationTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; @@ -9,7 +9,7 @@ import java.util.Properties; import java.util.stream.Collectors; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/PostgreSQLCastTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/PostgreSQLCastTest.java index 6cf108761..d62eef2ea 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/PostgreSQLCastTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/PostgreSQLCastTest.java @@ -1,8 +1,8 @@ package com.vladmihalcea.hpjp.hibernate.query; import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.sql.Timestamp; @@ -11,7 +11,7 @@ import java.time.temporal.TemporalAdjusters; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea @@ -52,7 +52,7 @@ public void afterInit() { } @Test - @Ignore + @Disabled public void testCastOperator() { doInJPA(entityManager -> { List posts = entityManager.createNativeQuery( diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/PostgreSQLExecutionPlanTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/PostgreSQLExecutionPlanTest.java index 0b49abe78..73198e22d 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/PostgreSQLExecutionPlanTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/PostgreSQLExecutionPlanTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.ArrayList; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/PostgreSQLNativeQueryNullParameterTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/PostgreSQLNativeQueryNullParameterTest.java index 8e659a6d7..ed2b0848b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/PostgreSQLNativeQueryNullParameterTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/PostgreSQLNativeQueryNullParameterTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import jakarta.persistence.*; import org.hibernate.query.NativeQuery; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.Timestamp; import java.time.LocalDateTime; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/PostgreSQLUpdateNullTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/PostgreSQLUpdateNullTest.java index c226f229f..7f3479103 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/PostgreSQLUpdateNullTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/PostgreSQLUpdateNullTest.java @@ -5,10 +5,10 @@ import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/RowValueExpressionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/RowValueExpressionTest.java index 000dc358f..c534b831b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/RowValueExpressionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/RowValueExpressionTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Entity; import jakarta.persistence.Id; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/RunningTotalTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/RunningTotalTest.java index dc1e98da3..d3e7eefbe 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/RunningTotalTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/RunningTotalTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.query; import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.time.LocalDate; @@ -11,7 +11,7 @@ import java.util.Objects; import java.util.concurrent.atomic.AtomicReference; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/SQLInjectionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/SQLInjectionTest.java index 4ecb43057..9ec62c057 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/SQLInjectionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/SQLInjectionTest.java @@ -3,8 +3,8 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import org.hibernate.Session; import org.hibernate.cfg.AvailableSettings; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import jakarta.persistence.criteria.CriteriaBuilder; @@ -17,8 +17,8 @@ import java.util.List; import java.util.Properties; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * @author Vlad Mihalcea @@ -57,7 +57,7 @@ public void afterInit() { } @Test - @Ignore + @Disabled public void testStatementUpdateDropTable() { doInJPA(entityManager -> { PostComment comment = entityManager.find(PostComment.class, 1L); @@ -84,7 +84,7 @@ public void testStatementUpdateDropTable() { } @Test - @Ignore + @Disabled public void testPreparedStatementUpdateDropTable() { doInJPA(entityManager -> { PostComment comment = entityManager.find(PostComment.class, 1L); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/UpdateSubQueryTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/UpdateSubQueryTest.java index 781ef0769..3d7ed145b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/UpdateSubQueryTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/UpdateSubQueryTest.java @@ -2,13 +2,13 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.HashSet; import java.util.Set; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/WindowFunctionGroupingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/WindowFunctionGroupingTest.java index 7087e20b7..f595ea14d 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/WindowFunctionGroupingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/WindowFunctionGroupingTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.query; import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.sql.Timestamp; @@ -10,7 +10,7 @@ import java.util.Date; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/WindowFunctionPercentilesTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/WindowFunctionPercentilesTest.java index a11de363b..512e3e319 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/WindowFunctionPercentilesTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/WindowFunctionPercentilesTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; import jakarta.persistence.*; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.math.BigDecimal; import java.time.LocalDate; @@ -12,7 +12,7 @@ import java.util.Properties; import static org.hibernate.cfg.SchemaToolingSettings.JAKARTA_HBM2DDL_LOAD_SCRIPT_SOURCE; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/WindowFunctionUpdateByGroupingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/WindowFunctionUpdateByGroupingTest.java index a956626a8..9ba45b209 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/WindowFunctionUpdateByGroupingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/WindowFunctionUpdateByGroupingTest.java @@ -10,11 +10,11 @@ import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea @@ -29,8 +29,7 @@ protected Class[] entities() { } @Override - public void init() { - super.init(); + public void afterInit() { doInJPA(entityManager -> { Session session = entityManager.unwrap( Session.class ); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/YugabyteDBTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/YugabyteDBTest.java index 9f46d5370..d211b9479 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/YugabyteDBTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/YugabyteDBTest.java @@ -2,7 +2,8 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; @@ -10,11 +11,12 @@ import java.time.LocalDateTime; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea */ +@Disabled public class YugabyteDBTest extends AbstractTest { @Override diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/any/PostgreSQLAnyClauseTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/any/PostgreSQLAnyClauseTest.java index 2061e92ba..10be6a2d9 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/any/PostgreSQLAnyClauseTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/any/PostgreSQLAnyClauseTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; @@ -12,7 +12,7 @@ import java.time.LocalDateTime; import java.time.temporal.TemporalAdjusters; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/cte/DerivedTableTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/cte/DerivedTableTest.java index fa4852d3f..4b1699391 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/cte/DerivedTableTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/cte/DerivedTableTest.java @@ -4,11 +4,11 @@ import com.vladmihalcea.hpjp.util.providers.Database; import io.hypersistence.utils.hibernate.query.SQLExtractor; import jakarta.persistence.*; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/cte/WithCTETest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/cte/WithCTETest.java index b3003594b..f75627eca 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/cte/WithCTETest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/cte/WithCTETest.java @@ -3,12 +3,12 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; import jakarta.persistence.*; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea @@ -211,7 +211,7 @@ p_pc_r AS ( } @Test - @Ignore("Still not working on Hibernate 6.3") + @Disabled("Still not working on Hibernate 6.3") public void testWithCTEJPQL() { List tuples = doInJPA(entityManager -> { return entityManager.createQuery(""" diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/mixed/DTOWithEntityTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/mixed/DTOWithEntityTest.java index 6837cc25c..6806848cd 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/mixed/DTOWithEntityTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/mixed/DTOWithEntityTest.java @@ -3,11 +3,11 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import io.hypersistence.utils.hibernate.query.ListResultTransformer; import org.hibernate.query.Query; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/hibernate/HibernateDTOProjectionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/hibernate/HibernateDTOProjectionTest.java index e060e3c60..5e164bb6e 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/hibernate/HibernateDTOProjectionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/hibernate/HibernateDTOProjectionTest.java @@ -9,12 +9,12 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; import org.hibernate.transform.Transformers; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.LocalDateTime; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/jpa/JPADTOProjectionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/jpa/JPADTOProjectionTest.java index 72d2dd486..f11302106 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/jpa/JPADTOProjectionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/jpa/JPADTOProjectionTest.java @@ -6,7 +6,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import io.hypersistence.utils.hibernate.type.util.ClassImportIntegrator; import org.hibernate.jpa.boot.spi.IntegratorProvider; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Tuple; @@ -15,7 +15,7 @@ import java.util.List; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/jpa/compact/JPADTOProjectionClassImportIntegratorPropertyClassTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/jpa/compact/JPADTOProjectionClassImportIntegratorPropertyClassTest.java index b65ff04f8..da20999df 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/jpa/compact/JPADTOProjectionClassImportIntegratorPropertyClassTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/jpa/compact/JPADTOProjectionClassImportIntegratorPropertyClassTest.java @@ -7,14 +7,14 @@ import io.hypersistence.utils.hibernate.type.util.ClassImportIntegrator; import org.hibernate.integrator.spi.Integrator; import org.hibernate.jpa.boot.spi.IntegratorProvider; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.List; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/jpa/compact/JPADTOProjectionClassImportIntegratorPropertyObjectExcludePathTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/jpa/compact/JPADTOProjectionClassImportIntegratorPropertyObjectExcludePathTest.java index e75cb36a0..24fa5ec4d 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/jpa/compact/JPADTOProjectionClassImportIntegratorPropertyObjectExcludePathTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/jpa/compact/JPADTOProjectionClassImportIntegratorPropertyObjectExcludePathTest.java @@ -6,14 +6,14 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import io.hypersistence.utils.hibernate.type.util.ClassImportIntegrator; import org.hibernate.jpa.boot.spi.IntegratorProvider; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.List; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/jpa/compact/JPADTOProjectionClassImportIntegratorPropertyObjectTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/jpa/compact/JPADTOProjectionClassImportIntegratorPropertyObjectTest.java index 66c641083..58f54b205 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/jpa/compact/JPADTOProjectionClassImportIntegratorPropertyObjectTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/jpa/compact/JPADTOProjectionClassImportIntegratorPropertyObjectTest.java @@ -6,14 +6,14 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import io.hypersistence.utils.hibernate.type.util.ClassImportIntegrator; import org.hibernate.jpa.boot.spi.IntegratorProvider; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.List; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/jpa/compact/JPADTOProjectionClassImportIntegratorTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/jpa/compact/JPADTOProjectionClassImportIntegratorTest.java index 1742b4ab1..6d4e97c50 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/jpa/compact/JPADTOProjectionClassImportIntegratorTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/jpa/compact/JPADTOProjectionClassImportIntegratorTest.java @@ -6,13 +6,13 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import io.hypersistence.utils.hibernate.type.util.ClassImportIntegrator; import org.hibernate.integrator.spi.Integrator; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/record/EntityToRecordTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/record/EntityToRecordTest.java index 694ef6d93..314f74f0b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/record/EntityToRecordTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/record/EntityToRecordTest.java @@ -5,11 +5,11 @@ import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Version; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.LocalDateTime; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/record/PostLegacyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/record/PostLegacyTest.java index 7e0e87b85..720236f88 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/record/PostLegacyTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/record/PostLegacyTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.query.dto.projection.record; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Column; import jakarta.persistence.Entity; @@ -10,7 +10,7 @@ import java.time.LocalDateTime; import java.util.Objects; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/record/PostRecordOverrideTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/record/PostRecordOverrideTest.java index 69ed7688b..9ad1b23a7 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/record/PostRecordOverrideTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/record/PostRecordOverrideTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.query.dto.projection.record; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Column; import jakarta.persistence.Entity; @@ -9,7 +9,7 @@ import jakarta.persistence.Version; import java.time.LocalDateTime; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/record/PostRecordTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/record/PostRecordTest.java index d5b1f48b5..dd25c0935 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/record/PostRecordTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/dto/projection/record/PostRecordTest.java @@ -5,7 +5,7 @@ import io.hypersistence.utils.hibernate.query.ListResultTransformer; import org.hibernate.jpa.boot.spi.IntegratorProvider; import org.hibernate.query.Query; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Column; import jakarta.persistence.Entity; @@ -16,7 +16,7 @@ import java.util.List; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/escape/HibernateEscapeKeywordTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/escape/HibernateEscapeKeywordTest.java index 5d5f14a82..00fe57b53 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/escape/HibernateEscapeKeywordTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/escape/HibernateEscapeKeywordTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.query.escape; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Column; import jakarta.persistence.Entity; @@ -9,7 +9,7 @@ import jakarta.persistence.Id; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/escape/HibernateGlobalEscapeKeywordSkipReservedIdentifierTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/escape/HibernateGlobalEscapeKeywordSkipReservedIdentifierTest.java index a2560a423..c4ea7a470 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/escape/HibernateGlobalEscapeKeywordSkipReservedIdentifierTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/escape/HibernateGlobalEscapeKeywordSkipReservedIdentifierTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.cfg.AvailableSettings; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Column; import jakarta.persistence.Entity; @@ -11,7 +11,7 @@ import java.util.List; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/escape/HibernateGlobalEscapeKeywordTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/escape/HibernateGlobalEscapeKeywordTest.java index ed834678a..5144d84b1 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/escape/HibernateGlobalEscapeKeywordTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/escape/HibernateGlobalEscapeKeywordTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.cfg.AvailableSettings; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; @@ -10,7 +10,7 @@ import java.util.List; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/escape/JPAEscapeKeywordTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/escape/JPAEscapeKeywordTest.java index 312f3276e..59e0112b4 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/escape/JPAEscapeKeywordTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/escape/JPAEscapeKeywordTest.java @@ -3,11 +3,11 @@ import java.util.List; import jakarta.persistence.*; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.vladmihalcea.hpjp.util.AbstractTest; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/escape/NoEscapeKeywordTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/escape/NoEscapeKeywordTest.java index 33b357770..da7a57685 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/escape/NoEscapeKeywordTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/escape/NoEscapeKeywordTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.cfg.AvailableSettings; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Entity; import jakarta.persistence.EntityManagerFactory; @@ -11,8 +11,8 @@ import java.util.Properties; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/escape/SQLServerEscapeQuestionCharacterTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/escape/SQLServerEscapeQuestionCharacterTest.java index d5ddb6359..d9fb40804 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/escape/SQLServerEscapeQuestionCharacterTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/escape/SQLServerEscapeQuestionCharacterTest.java @@ -1,12 +1,12 @@ package com.vladmihalcea.hpjp.hibernate.query.escape; import com.vladmihalcea.hpjp.util.AbstractSQLServerIntegrationTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/function/DateTruncTimeZoneFunctionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/function/DateTruncTimeZoneFunctionTest.java index 7e2ac89ed..579304c34 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/function/DateTruncTimeZoneFunctionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/function/DateTruncTimeZoneFunctionTest.java @@ -11,15 +11,15 @@ import org.hibernate.sql.ast.spi.SqlAppender; import org.hibernate.sql.ast.tree.SqlAstNode; import org.hibernate.sql.ast.tree.expression.Expression; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import java.sql.Timestamp; import java.time.LocalDateTime; import java.util.List; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea @@ -91,7 +91,7 @@ public void afterInit() { } @Test - @Ignore("Doesn't work on Hibernate 6.2. Workaround needed.") + @Disabled("Doesn't work on Hibernate 6.2. Workaround needed.") public void test() { doInJPA(entityManager -> { Tuple tuple = entityManager.createQuery(""" diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/function/DateTruncUtcFunctionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/function/DateTruncUtcFunctionTest.java index 66a863ddc..1d6eeb4c2 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/function/DateTruncUtcFunctionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/function/DateTruncUtcFunctionTest.java @@ -11,15 +11,15 @@ import org.hibernate.sql.ast.spi.SqlAppender; import org.hibernate.sql.ast.tree.SqlAstNode; import org.hibernate.sql.ast.tree.expression.Expression; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import java.sql.Timestamp; import java.time.LocalDateTime; import java.util.List; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea @@ -88,7 +88,7 @@ public void afterInit() { } @Test - @Ignore("Doesn't work on Hibernate 6.2. Workaround needed.") + @Disabled("Doesn't work on Hibernate 6.2. Workaround needed.") public void test() { doInJPA(entityManager -> { Tuple tuple = entityManager diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/function/GroupConcatFunctionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/function/GroupConcatFunctionTest.java index 685108a87..abc957ee6 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/function/GroupConcatFunctionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/function/GroupConcatFunctionTest.java @@ -4,14 +4,14 @@ import jakarta.persistence.criteria.*; import org.hibernate.query.Query; import org.hibernate.transform.Transformers; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.HashSet; import java.util.List; import java.util.Set; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/function/ToDateFunctionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/function/ToDateFunctionTest.java index 524bfa2be..a8f52c93e 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/function/ToDateFunctionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/function/ToDateFunctionTest.java @@ -1,12 +1,12 @@ package com.vladmihalcea.hpjp.hibernate.query.function; import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.time.LocalDate; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/hierarchical/AbstractTreeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/hierarchical/AbstractTreeTest.java index 92d39156c..7d63f82de 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/hierarchical/AbstractTreeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/hierarchical/AbstractTreeTest.java @@ -15,8 +15,7 @@ protected Class[] entities() { } @Override - public void init() { - super.init(); + public void afterInit() { doInJPA(entityManager -> { PostComment root1 = new PostComment("High-Performance Java Persistence", Status.APPROVED); PostComment child1 = new PostComment("Is it about JDBC?", Status.APPROVED); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/hierarchical/TreeCTETest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/hierarchical/TreeCTETest.java index 44e564ca5..8d64239dc 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/hierarchical/TreeCTETest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/hierarchical/TreeCTETest.java @@ -2,14 +2,14 @@ import io.hypersistence.utils.hibernate.query.DistinctListTransformer; import org.hibernate.query.NativeQuery; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.List; import com.vladmihalcea.hpjp.util.providers.DataSourceProvider; import com.vladmihalcea.hpjp.util.providers.PostgreSQLDataSourceProvider; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/hierarchical/TreeConnectByTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/hierarchical/TreeConnectByTest.java index 0e6a95336..526d1068a 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/hierarchical/TreeConnectByTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/hierarchical/TreeConnectByTest.java @@ -1,14 +1,14 @@ package com.vladmihalcea.hpjp.hibernate.query.hierarchical; import org.hibernate.query.NativeQuery; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.List; import com.vladmihalcea.hpjp.util.providers.DataSourceProvider; import com.vladmihalcea.hpjp.util.providers.OracleDataSourceProvider; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/hierarchical/TreeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/hierarchical/TreeTest.java index 5e2a4bf13..5de930910 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/hierarchical/TreeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/hierarchical/TreeTest.java @@ -1,12 +1,12 @@ package com.vladmihalcea.hpjp.hibernate.query.hierarchical; import org.hibernate.*; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.List; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/join/SQLInnerJoinTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/join/SQLInnerJoinTest.java index 1df4590e3..d0327a1e6 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/join/SQLInnerJoinTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/join/SQLInnerJoinTest.java @@ -2,12 +2,12 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/join/algorithm/HashJoinSqlTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/join/algorithm/HashJoinSqlTest.java index f6bb62723..8d06dc2fe 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/join/algorithm/HashJoinSqlTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/join/algorithm/HashJoinSqlTest.java @@ -2,13 +2,13 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.List; import java.util.stream.Collectors; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/join/algorithm/HashJoinTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/join/algorithm/HashJoinTest.java index 27beb3c21..f7e8384df 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/join/algorithm/HashJoinTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/join/algorithm/HashJoinTest.java @@ -1,13 +1,13 @@ package com.vladmihalcea.hpjp.hibernate.query.join.algorithm; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/join/algorithm/MergeJoinSqlTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/join/algorithm/MergeJoinSqlTest.java index 112ca04f3..a1fae932b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/join/algorithm/MergeJoinSqlTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/join/algorithm/MergeJoinSqlTest.java @@ -2,13 +2,13 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.List; import java.util.stream.Collectors; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/join/algorithm/MergeJoinTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/join/algorithm/MergeJoinTest.java index 50749b7af..1068a49bb 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/join/algorithm/MergeJoinTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/join/algorithm/MergeJoinTest.java @@ -1,12 +1,12 @@ package com.vladmihalcea.hpjp.hibernate.query.join.algorithm; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.Comparator; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/join/algorithm/NestedLoopsSqlTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/join/algorithm/NestedLoopsSqlTest.java index 46429186c..4b1815b41 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/join/algorithm/NestedLoopsSqlTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/join/algorithm/NestedLoopsSqlTest.java @@ -2,13 +2,13 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.List; import java.util.stream.Collectors; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/join/algorithm/NestedLoopsTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/join/algorithm/NestedLoopsTest.java index 4980367c5..4a0d66467 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/join/algorithm/NestedLoopsTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/join/algorithm/NestedLoopsTest.java @@ -1,12 +1,12 @@ package com.vladmihalcea.hpjp.hibernate.query.join.algorithm; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/mapping/ResultSetMappingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/mapping/ResultSetMappingTest.java index 0afc5ac04..e634340fc 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/mapping/ResultSetMappingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/mapping/ResultSetMappingTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.hibernate.identifier.Identifiable; import com.vladmihalcea.hpjp.util.AbstractOracleIntegrationTest; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.sql.Timestamp; @@ -14,8 +14,8 @@ import java.util.Properties; import java.util.stream.LongStream; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/pivot/PivotTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/pivot/PivotTest.java index 52d0052e9..3e62cc900 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/pivot/PivotTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/pivot/PivotTest.java @@ -3,12 +3,12 @@ import com.vladmihalcea.hpjp.util.AbstractOracleIntegrationTest; import org.hibernate.query.Query; import org.hibernate.transform.Transformers; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.List; import java.util.concurrent.TimeUnit; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/plan/DefaultInQueryPlanCacheTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/plan/DefaultInQueryPlanCacheTest.java index b27f60685..1d8773fd4 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/plan/DefaultInQueryPlanCacheTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/plan/DefaultInQueryPlanCacheTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.SessionFactory; import org.hibernate.stat.Statistics; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Entity; import jakarta.persistence.EntityManager; @@ -17,7 +17,7 @@ import java.util.Properties; import java.util.stream.IntStream; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/plan/PaddingInQueryPlanCacheTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/plan/PaddingInQueryPlanCacheTest.java index 02457085d..dcc05ef46 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/plan/PaddingInQueryPlanCacheTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/plan/PaddingInQueryPlanCacheTest.java @@ -4,7 +4,7 @@ import com.vladmihalcea.hpjp.util.providers.Database; import org.hibernate.SessionFactory; import org.hibernate.stat.Statistics; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Entity; import jakarta.persistence.EntityManager; @@ -15,7 +15,7 @@ import java.util.Properties; import java.util.stream.IntStream; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/PostCommentScore.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/PostCommentScore.java index a0c3e93b0..b1d187735 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/PostCommentScore.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/PostCommentScore.java @@ -1,5 +1,8 @@ package com.vladmihalcea.hpjp.hibernate.query.recursive; +import java.sql.Timestamp; +import java.time.LocalDateTime; +import java.time.ZoneId; import java.util.ArrayList; import java.util.Comparator; import java.util.Date; @@ -13,17 +16,25 @@ public class PostCommentScore { private Long id; private Long parentId; private String review; - private Date createdOn; - private long score; + private LocalDateTime createdOn; + private int score; private List children = new ArrayList<>(); - public PostCommentScore(Number id, Number parentId, String review, Date createdOn, Number score) { + public PostCommentScore(Long id, Long parentId, String review, LocalDateTime createdOn, Integer score) { this.id = id.longValue(); this.parentId = parentId != null ? parentId.longValue() : null; this.review = review; this.createdOn = createdOn; - this.score = score.longValue(); + this.score = score; + } + + public PostCommentScore(Long id, Long parentId, String review, Timestamp createdOn, Integer score) { + this.id = id.longValue(); + this.parentId = parentId != null ? parentId.longValue() : null; + this.review = review; + this.createdOn = createdOn.toLocalDateTime(); + this.score = score; } public PostCommentScore() { @@ -53,19 +64,24 @@ public void setReview(String review) { this.review = review; } - public Date getCreatedOn() { + public LocalDateTime getCreatedOn() { return createdOn; } - public void setCreatedOn(Date createdOn) { + public void setCreatedOn(LocalDateTime createdOn) { this.createdOn = createdOn; } - public long getScore() { + public void setCreatedOn(Date createdOn) { + this.createdOn = LocalDateTime.ofInstant( + createdOn.toInstant(), ZoneId.systemDefault()); + } + + public int getScore() { return score; } - public void setScore(long score) { + public void setScore(int score) { this.score = score; } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/WithRecursiveCTEFetchingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/WithRecursiveCTEFetchingTest.java index 087750562..bbd829261 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/WithRecursiveCTEFetchingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/WithRecursiveCTEFetchingTest.java @@ -6,14 +6,15 @@ import com.vladmihalcea.hpjp.util.providers.Database; import org.hibernate.query.NativeQuery; import org.hibernate.transform.ResultTransformer; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.sql.Timestamp; import java.time.LocalDateTime; +import java.time.ZoneId; import java.util.*; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea @@ -403,17 +404,17 @@ public static class PostCommentScore { private Long id; private Long parentId; private String review; - private Date createdOn; - private long score; + private LocalDateTime createdOn; + private int score; private List children = new ArrayList<>(); - public PostCommentScore(Number id, Number parentId, String review, Date createdOn, Number score) { + public PostCommentScore(Long id, Long parentId, String review, LocalDateTime createdOn, Integer score) { this.id = id.longValue(); this.parentId = parentId != null ? parentId.longValue() : null; this.review = review; this.createdOn = createdOn; - this.score = score.longValue(); + this.score = score; } public PostCommentScore() { @@ -443,25 +444,30 @@ public void setReview(String review) { this.review = review; } - public Date getCreatedOn() { + public LocalDateTime getCreatedOn() { return createdOn; } - public void setCreatedOn(Date createdOn) { + public void setCreatedOn(LocalDateTime createdOn) { this.createdOn = createdOn; } - public long getScore() { + public void setCreatedOn(Date createdOn) { + this.createdOn = LocalDateTime.ofInstant( + createdOn.toInstant(), ZoneId.systemDefault()); + } + + public int getScore() { return score; } - public void setScore(long score) { + public void setScore(int score) { this.score = score; } public long getTotalScore() { long total = getScore(); - for (PostCommentScore child : children) { + for(PostCommentScore child : children) { total += child.getTotalScore(); } return total; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/WithRecursiveCTEHibernateTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/WithRecursiveCTEHibernateTest.java index 2e2bc1678..13df055f3 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/WithRecursiveCTEHibernateTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/WithRecursiveCTEHibernateTest.java @@ -5,7 +5,7 @@ import jakarta.persistence.*; import org.hibernate.jpa.boot.spi.IntegratorProvider; import org.hibernate.jpa.boot.spi.JpaSettings; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.LocalDateTime; import java.util.ArrayList; @@ -13,7 +13,7 @@ import java.util.List; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/category/BookCategoryWithRecursiveCTETest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/category/BookCategoryWithRecursiveCTETest.java index 41479e509..ec0b70b73 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/category/BookCategoryWithRecursiveCTETest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/category/BookCategoryWithRecursiveCTETest.java @@ -15,11 +15,11 @@ import jakarta.persistence.EntityManagerFactory; import org.hibernate.query.NativeQuery; import org.hibernate.query.TupleTransformer; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/complex/AbstractPostCommentScorePerformanceTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/complex/AbstractPostCommentScorePerformanceTest.java index 16cd785d8..adf36e965 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/complex/AbstractPostCommentScorePerformanceTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/complex/AbstractPostCommentScorePerformanceTest.java @@ -4,22 +4,29 @@ import com.codahale.metrics.Slf4jReporter; import com.vladmihalcea.hpjp.hibernate.query.recursive.PostCommentScore; import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; -import org.junit.Ignore; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; - import jakarta.persistence.*; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.Parameter; +import org.junit.jupiter.params.ParameterizedClass; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; + import java.io.Serializable; -import java.util.*; +import java.util.Date; +import java.util.List; +import java.util.Objects; +import java.util.Properties; import java.util.concurrent.TimeUnit; +import java.util.stream.Stream; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * @author Vlad Mihalcea */ -@RunWith(Parameterized.class) +@ParameterizedClass +@MethodSource("parameters") public abstract class AbstractPostCommentScorePerformanceTest extends AbstractPostgreSQLIntegrationTest { private MetricRegistry metricRegistry = new MetricRegistry(); @@ -45,31 +52,24 @@ protected Class[] entities() { private User user1; private User user2; + @Parameter(0) private int postCount; + @Parameter(1) private int commentCount; - public AbstractPostCommentScorePerformanceTest(int postCount, int commentCount) { - this.postCount = postCount; - this.commentCount = commentCount; - } - - @Parameterized.Parameters - public static Collection parameters() { - List postCountSizes = new ArrayList<>(); + public static Stream parameters() { int postCount = 10; - postCountSizes.add(new Integer[] {postCount, 4}); - postCountSizes.add(new Integer[] {postCount, 4}); - postCountSizes.add(new Integer[] {postCount, 4}); - postCountSizes.add(new Integer[] {postCount, 8}); - postCountSizes.add(new Integer[] {postCount, 16}); - postCountSizes.add(new Integer[] {postCount, 32}); - postCountSizes.add(new Integer[] {postCount, 64}); - return postCountSizes; + return Stream.of( + Arguments.of(postCount, 4), + Arguments.of(postCount, 8), + Arguments.of(postCount, 16), + Arguments.of(postCount, 32), + Arguments.of(postCount, 64) + ); } @Override - public void init() { - super.init(); + public void afterInit() { doInJPA(entityManager -> { user1 = new User(); user1.setUsername("JohnDoe"); @@ -140,18 +140,14 @@ private boolean entropy() { return Math.random() > 0.5d; } - @Override - protected Properties properties() { - Properties properties = super.properties(); + protected void additionalProperties(Properties properties) { properties.put("hibernate.jdbc.batch_size", "5"); properties.put("hibernate.order_inserts", "true"); properties.put("hibernate.order_updates", "true"); - properties.put("hibernate.jdbc.batch_versioned_data", "true"); - return properties; } @Test - @Ignore + @Disabled public void test() { int rank = 3; for (long postId = 0; postId < postCount; postId++) { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/complex/PostCommentScoreFetchAllPerformanceTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/complex/PostCommentScoreFetchAllPerformanceTest.java index d4b0ebb8d..4d4593ee9 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/complex/PostCommentScoreFetchAllPerformanceTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/complex/PostCommentScoreFetchAllPerformanceTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.query.recursive.complex; import com.vladmihalcea.hpjp.hibernate.query.recursive.PostCommentScore; -import org.junit.Ignore; +import org.junit.jupiter.api.Disabled; import java.util.*; import java.util.concurrent.TimeUnit; @@ -9,13 +9,9 @@ /** * @author Vlad Mihalcea */ -@Ignore +@Disabled public class PostCommentScoreFetchAllPerformanceTest extends AbstractPostCommentScorePerformanceTest { - public PostCommentScoreFetchAllPerformanceTest(int postCount, int commentCount) { - super(postCount, commentCount); - } - @Override protected List postCommentScores(Long postId, int rank) { return doInJPA(entityManager -> { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/complex/PostCommentScoreFetchProjectionPerformanceTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/complex/PostCommentScoreFetchProjectionPerformanceTest.java index 13c5370da..6ddff15c4 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/complex/PostCommentScoreFetchProjectionPerformanceTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/complex/PostCommentScoreFetchProjectionPerformanceTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.query.recursive.complex; import com.vladmihalcea.hpjp.hibernate.query.recursive.PostCommentScore; -import org.junit.Ignore; +import org.junit.jupiter.api.Disabled; import java.util.ArrayList; import java.util.Comparator; @@ -13,13 +13,9 @@ /** * @author Vlad Mihalcea */ -@Ignore +@Disabled public class PostCommentScoreFetchProjectionPerformanceTest extends AbstractPostCommentScorePerformanceTest { - public PostCommentScoreFetchProjectionPerformanceTest(int postCount, int commentCount) { - super(postCount, commentCount); - } - @Override protected List postCommentScores(Long postId, int rank) { return doInJPA(entityManager -> { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/complex/PostCommentScoreRecursiveCTEPerformanceTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/complex/PostCommentScoreRecursiveCTEPerformanceTest.java index 14641916e..81a51df74 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/complex/PostCommentScoreRecursiveCTEPerformanceTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/complex/PostCommentScoreRecursiveCTEPerformanceTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.hibernate.query.recursive.PostCommentScore; import org.hibernate.query.NativeQuery; import org.hibernate.transform.ResultTransformer; -import org.junit.Ignore; +import org.junit.jupiter.api.Disabled; import java.util.ArrayList; import java.util.HashMap; @@ -14,13 +14,9 @@ /** * @author Vlad Mihalcea */ -@Ignore +@Disabled public class PostCommentScoreRecursiveCTEPerformanceTest extends AbstractPostCommentScorePerformanceTest { - public PostCommentScoreRecursiveCTEPerformanceTest(int postCount, int commentCount) { - super(postCount, commentCount); - } - @Override protected List postCommentScores(Long postId, int rank) { return doInJPA(entityManager -> { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/complex/PostCommentScoreRecursiveCTESelectPerformanceTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/complex/PostCommentScoreRecursiveCTESelectPerformanceTest.java index 1e599a143..9a2ab591c 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/complex/PostCommentScoreRecursiveCTESelectPerformanceTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/complex/PostCommentScoreRecursiveCTESelectPerformanceTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.hibernate.query.recursive.PostCommentScore; import org.hibernate.query.NativeQuery; import org.hibernate.transform.ResultTransformer; -import org.junit.Ignore; +import org.junit.jupiter.api.Disabled; import java.util.ArrayList; import java.util.HashMap; @@ -14,13 +14,9 @@ /** * @author Vlad Mihalcea */ -@Ignore +@Disabled public class PostCommentScoreRecursiveCTESelectPerformanceTest extends AbstractPostCommentScorePerformanceTest { - public PostCommentScoreRecursiveCTESelectPerformanceTest(int postCount, int commentCount) { - super(postCount, commentCount); - } - @Override protected List postCommentScores(Long postId, int rank) { return doInJPA(entityManager -> { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/complex/PostCommentScoreTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/complex/PostCommentScoreTest.java index 92e2a51fc..ddb699650 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/complex/PostCommentScoreTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/complex/PostCommentScoreTest.java @@ -1,23 +1,25 @@ package com.vladmihalcea.hpjp.hibernate.query.recursive.complex; -import com.vladmihalcea.hpjp.hibernate.query.recursive.PostCommentScore; import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; +import jakarta.persistence.*; import org.hibernate.query.NativeQuery; import org.hibernate.transform.ResultTransformer; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; -import jakarta.persistence.*; import java.io.Serializable; +import java.sql.Timestamp; +import java.time.LocalDateTime; +import java.time.ZoneId; import java.util.*; import java.util.stream.Collectors; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea */ -@Ignore +@Disabled public class PostCommentScoreTest extends AbstractPostgreSQLIntegrationTest { @Override @@ -31,8 +33,7 @@ protected Class[] entities() { } @Override - public void init() { - super.init(); + public void afterInit() { doInJPA(entityManager -> { User user1 = new User(); user1.setUsername("JohnDoe"); @@ -201,102 +202,103 @@ public void test() { private List postCommentScoresCTEJoin(Long postId, int rank) { return doInJPA(entityManager -> { - List postCommentScores = entityManager.createNativeQuery( - "SELECT id, parent_id, root_id, review, created_on, score " + - "FROM ( " + - " SELECT " + - " id, parent_id, root_id, review, created_on, score, " + - " dense_rank() OVER (ORDER BY total_score DESC) rank " + - " FROM ( " + - " SELECT " + - " id, parent_id, root_id, review, created_on, score, " + - " SUM(score) OVER (PARTITION BY root_id) total_score " + - " FROM (" + - " WITH RECURSIVE post_comment_score(id, root_id, post_id, " + - " parent_id, review, created_on, user_id, score) AS (" + - " SELECT id, id, post_id, parent_id, review, created_on, user_id, " + - " CASE WHEN up IS NULL THEN 0 WHEN up = true THEN 1 " + - " ELSE - 1 END score " + - " FROM post_comment " + - " LEFT JOIN post_comment_vote ON comment_id = id " + - " WHERE post_id = :postId AND parent_id IS NULL " + - " UNION ALL " + - " select pc.id, pcs.root_id, pc.post_id, pc.parent_id, " + - " pc.review, pc.created_on, pcv.user_id, CASE WHEN pcv.up IS NULL THEN 0 " + - " WHEN pcv.up = true THEN 1 ELSE - 1 END score " + - " FROM post_comment pc " + - " LEFT JOIN post_comment_vote pcv ON pcv.comment_id = pc.id " + - " INNER JOIN post_comment_score pcs ON pc.parent_id = pcs.id " + - " WHERE pc.parent_id = pcs.id " + - " ) " + - " SELECT id, parent_id, root_id, review, created_on, SUM(score) score" + - " FROM post_comment_score " + - " GROUP BY id, parent_id, root_id, review, created_on" + - " ) score_by_comment " + - " ) score_total " + - " ORDER BY total_score DESC, created_on ASC " + - ") total_score_group " + - "WHERE rank <= :rank", "PostCommentScore") + List postCommentScores = entityManager.createNativeQuery(""" + SELECT id, parent_id, root_id, review, created_on, score + FROM ( + SELECT + id, parent_id, root_id, review, created_on, score, + dense_rank() OVER (ORDER BY total_score DESC) rank + FROM ( + SELECT + id, parent_id, root_id, review, created_on, score, + SUM(score) OVER (PARTITION BY root_id) total_score + FROM ( + WITH RECURSIVE post_comment_score(id, root_id, post_id, parent_id, review, created_on) AS ( + SELECT id, id, post_id, parent_id, review, created_on + FROM post_comment + WHERE post_id = :postId AND parent_id IS NULL + UNION ALL + SELECT pc.id, pcs.root_id, pc.post_id, pc.parent_id, pc.review, pc.created_on + FROM post_comment pc + INNER JOIN post_comment_score pcs ON pc.parent_id = pcs.id + WHERE pc.parent_id = pcs.id + ) + SELECT id, parent_id, root_id, review, created_on, + SUM(CASE WHEN up IS NULL THEN 0 WHEN up = true THEN 1 ELSE - 1 END) score + FROM post_comment_score pcs + LEFT JOIN post_comment_vote pcv ON pcv.comment_id = pcs.id + GROUP BY id, parent_id, root_id, review, created_on + ) score_by_comment + ) score_total + ORDER BY total_score DESC, created_on ASC + ) total_score_group + WHERE rank <= :rank + ORDER BY id + """, "PostCommentScore") .unwrap(NativeQuery.class) .setParameter("postId", postId).setParameter("rank", rank) .setResultTransformer(new PostCommentScoreResultTransformer()) - .list(); + .getResultList(); return postCommentScores; }); } private List postCommentScoresCTESelect(Long postId, int rank) { return doInJPA(entityManager -> { - List postCommentScores = entityManager.createNativeQuery( - "SELECT id, parent_id, root_id, review, created_on, score " + - "FROM ( " + - " SELECT " + - " id, parent_id, root_id, review, created_on, score, " + - " dense_rank() OVER (ORDER BY total_score DESC) rank " + - " FROM ( " + - " SELECT " + - " id, parent_id, root_id, review, created_on, score, " + - " SUM(score) OVER (PARTITION BY root_id) total_score " + - " FROM (" + - " WITH RECURSIVE post_comment_score(id, root_id, post_id, " + - " parent_id, review, created_on, score) AS (" + - " SELECT id, id, post_id, parent_id, review, created_on, " + - " COALESCE (( SELECT SUM (CASE WHEN up = true THEN 1 ELSE - 1 END ) FROM post_comment_vote WHERE comment_id = id ), 0) score " + - " FROM post_comment " + - " WHERE post_id = :postId AND parent_id IS NULL " + - " UNION ALL " + - " SELECT pc.id, pcs.root_id, pc.post_id, pc.parent_id, " + - " pc.review, pc.created_on, " + - " COALESCE(( SELECT SUM (CASE WHEN up = true THEN 1 ELSE - 1 END ) FROM post_comment_vote WHERE comment_id = pc.id ), 0) score " + - " FROM post_comment pc " + - " INNER JOIN post_comment_score pcs ON pc.parent_id = pcs.id " + - " WHERE pc.parent_id = pcs.id " + - " ) " + - " SELECT id, parent_id, root_id, review, created_on, score" + - " FROM post_comment_score" + - " ) score_by_comment " + - " ) score_total " + - " ORDER BY total_score DESC, created_on ASC " + - ") total_score_group " + - "WHERE rank <= :rank", "PostCommentScore") + List postCommentScores = entityManager.createNativeQuery(""" + SELECT id, parent_id, root_id, review, created_on, score + FROM ( + SELECT + id, parent_id, root_id, review, created_on, score, + dense_rank() OVER (ORDER BY total_score DESC) rank + FROM ( + SELECT + id, parent_id, root_id, review, created_on, score, + SUM(score) OVER (PARTITION BY root_id) total_score + FROM ( + WITH RECURSIVE post_comment_score(id, root_id, post_id, + parent_id, review, created_on, score) AS ( + SELECT id, id, post_id, parent_id, review, created_on, + COALESCE (( SELECT SUM (CASE WHEN up = true THEN 1 ELSE - 1 END ) FROM post_comment_vote WHERE comment_id = id ), 0) score + FROM post_comment + WHERE post_id = :postId AND parent_id IS NULL + UNION ALL + SELECT pc.id, pcs.root_id, pc.post_id, pc.parent_id, + pc.review, pc.created_on, + COALESCE(( SELECT SUM (CASE WHEN up = true THEN 1 ELSE - 1 END ) FROM post_comment_vote WHERE comment_id = pc.id ), 0) score + FROM post_comment pc + INNER JOIN post_comment_score pcs ON pc.parent_id = pcs.id + WHERE pc.parent_id = pcs.id + ) + SELECT id, parent_id, root_id, review, created_on, score + FROM post_comment_score + ) score_by_comment + ) score_total + ORDER BY total_score DESC, created_on ASC + ) total_score_groups + WHERE rank <= :rank + ORDER BY id + """, "PostCommentScore") .unwrap(NativeQuery.class) .setParameter("postId", postId).setParameter("rank", rank) .setResultTransformer(new PostCommentScoreResultTransformer()) - .list(); + .getResultList(); return postCommentScores; }); } protected List postCommentScoresInMemory(Long postId, int rank) { return doInJPA(entityManager -> { - List postCommentScores = entityManager.createQuery( - "select new com.vladmihalcea.book.hpjp.hibernate.query.recursive.PostCommentScore(" + - " pc.id, pc.parent.id, 0, pc.review, pc.createdOn, sum( case when pcv.up is null then 0 when pcv.up = true then 1 else -1 end ) " + - ") " + - "from PostComment pc " + - "left join PostCommentVote pcv on pc.id = pcv.comment " + - "where pc.post.id = :postId " + - "group by pc.id, pc.parent.id, pc.review, pc.createdOn ") + List postCommentScores = entityManager.createQuery(""" + select new com.vladmihalcea.hpjp.hibernate.query.recursive.complex.PostCommentScoreTest$PostCommentScore( + pc.id, pc.parent.id, 0, pc.review, pc.createdOn, sum( case when pcv.up is null then 0 when pcv.up = true then 1 else -1 end ) + ) + from PostComment pc + left join PostCommentVote pcv on pc.id = pcv.comment.id + where pc.post.id = :postId + group by pc.id, pc.parent.id, pc.review, pc.createdOn + order by pc.id + """) .setParameter("postId", postId) .getResultList(); @@ -591,4 +593,108 @@ public String toString() { '}'; } } + + public static class PostCommentScore { + + private Long id; + private Long parentId; + private Long rootId; + private String review; + private LocalDateTime createdOn; + private long score; + + private List children = new ArrayList<>(); + + public PostCommentScore(Long id, Long parentId, Long rootId, String review, LocalDateTime createdOn, Long score) { + this.id = id.longValue(); + this.parentId = parentId != null ? parentId.longValue() : null; + this.rootId = rootId != null ? rootId.longValue() : null; + this.review = review; + this.createdOn = createdOn; + this.score = score; + } + + public PostCommentScore(Long id, Long parentId, Integer rootId, String review, Timestamp createdOn, Long score) { + this.id = id.longValue(); + this.parentId = parentId != null ? parentId.longValue() : null; + this.rootId = rootId != null ? rootId.longValue() : null; + this.review = review; + this.createdOn = createdOn.toLocalDateTime(); + this.score = score; + } + + public PostCommentScore() { + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getParentId() { + return parentId; + } + + public void setParentId(Long parentId) { + this.parentId = parentId; + } + + public Long getRootId() { + return rootId; + } + + public void setRootId(Long rootId) { + this.rootId = rootId; + } + + public String getReview() { + return review; + } + + public void setReview(String review) { + this.review = review; + } + + public LocalDateTime getCreatedOn() { + return createdOn; + } + + public void setCreatedOn(LocalDateTime createdOn) { + this.createdOn = createdOn; + } + + public void setCreatedOn(Date createdOn) { + this.createdOn = LocalDateTime.ofInstant( + createdOn.toInstant(), ZoneId.systemDefault()); + } + + public long getScore() { + return score; + } + + public void setScore(int score) { + this.score = score; + } + + public long getTotalScore() { + long total = getScore(); + for(PostCommentScore child : children) { + total += child.getTotalScore(); + } + return total; + } + + public List getChildren() { + List copy = new ArrayList<>(children); + copy.sort(Comparator.comparing(PostCommentScore::getCreatedOn)); + return copy; + } + + public void addChild(PostCommentScore child) { + children.add(child); + } + } } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/simple/AbstractPostCommentScorePerformanceTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/simple/AbstractPostCommentScorePerformanceTest.java index e436f66b2..f53a980d9 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/simple/AbstractPostCommentScorePerformanceTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/simple/AbstractPostCommentScorePerformanceTest.java @@ -4,23 +4,27 @@ import com.codahale.metrics.Slf4jReporter; import com.vladmihalcea.hpjp.hibernate.query.recursive.PostCommentScore; import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; -import org.junit.Ignore; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.Parameter; +import org.junit.jupiter.params.ParameterizedClass; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.Properties; import java.util.concurrent.TimeUnit; +import java.util.stream.Stream; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * @author Vlad Mihalcea */ -@RunWith(Parameterized.class) +@ParameterizedClass +@MethodSource("parameters") public abstract class AbstractPostCommentScorePerformanceTest extends AbstractPostgreSQLIntegrationTest { protected MetricRegistry metricRegistry = new MetricRegistry(); @@ -41,32 +45,24 @@ protected Class[] entities() { }; } + @Parameter(0) private int postCount; + @Parameter(1) private int commentCount; - public AbstractPostCommentScorePerformanceTest(int postCount, int commentCount) { - this.postCount = postCount; - this.commentCount = commentCount; - } - - @Parameterized.Parameters - public static Collection parameters() { - List postCountSizes = new ArrayList<>(); - int postCount = 2; - postCountSizes.add(new Integer[] {postCount, 16}); - postCountSizes.add(new Integer[] {postCount, 4}); - postCountSizes.add(new Integer[] {postCount, 8}); - postCountSizes.add(new Integer[] {postCount, 16}); - postCountSizes.add(new Integer[] {postCount, 24}); - postCountSizes.add(new Integer[] {postCount, 32}); - postCountSizes.add(new Integer[] {postCount, 48}); - postCountSizes.add(new Integer[] {postCount, 64}); - return postCountSizes; + public static Stream parameters() { + int postCount = 10; + return Stream.of( + Arguments.of(postCount, 4), + Arguments.of(postCount, 8), + Arguments.of(postCount, 16), + Arguments.of(postCount, 32), + Arguments.of(postCount, 64) + ); } @Override - public void init() { - super.init(); + public void afterInit() { for (long i = 0; i < postCount; i++) { insertPost(i); } @@ -127,12 +123,11 @@ protected Properties properties() { properties.put("hibernate.jdbc.batch_size", "50"); properties.put("hibernate.order_inserts", "true"); properties.put("hibernate.order_updates", "true"); - properties.put("hibernate.jdbc.batch_versioned_data", "true"); return properties; } @Test - @Ignore + @Disabled public void test() { int rank = 3; int iterations = 25; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/simple/PostCommentScoreFetchProjectionOrderByPerformanceTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/simple/PostCommentScoreFetchProjectionOrderByPerformanceTest.java index e2dc51983..b2da6744d 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/simple/PostCommentScoreFetchProjectionOrderByPerformanceTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/simple/PostCommentScoreFetchProjectionOrderByPerformanceTest.java @@ -12,10 +12,6 @@ public class PostCommentScoreFetchProjectionOrderByPerformanceTest extends Abstr protected com.codahale.metrics.Timer inMemoryProcessingTimer = metricRegistry.timer("In-memory processing timer"); - public PostCommentScoreFetchProjectionOrderByPerformanceTest(int postCount, int commentCount) { - super(postCount, commentCount); - } - @Override protected List postCommentScores(Long postId, int rank) { return doInJPA(entityManager -> { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/simple/PostCommentScoreFetchProjectionPerformanceStreamTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/simple/PostCommentScoreFetchProjectionPerformanceStreamTest.java index 5250a0ddf..33e3c747f 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/simple/PostCommentScoreFetchProjectionPerformanceStreamTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/simple/PostCommentScoreFetchProjectionPerformanceStreamTest.java @@ -17,10 +17,6 @@ public class PostCommentScoreFetchProjectionPerformanceStreamTest extends Abstra protected com.codahale.metrics.Timer inMemoryProcessingTimer = metricRegistry.timer("In-memory processing timer"); - public PostCommentScoreFetchProjectionPerformanceStreamTest(int postCount, int commentCount) { - super(postCount, commentCount); - } - @Override protected List postCommentScores(Long postId, int rank) { long startNanos = System.nanoTime(); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/simple/PostCommentScoreFetchProjectionPerformanceTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/simple/PostCommentScoreFetchProjectionPerformanceTest.java index 363d622bf..5588482d4 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/simple/PostCommentScoreFetchProjectionPerformanceTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/simple/PostCommentScoreFetchProjectionPerformanceTest.java @@ -12,10 +12,6 @@ public class PostCommentScoreFetchProjectionPerformanceTest extends AbstractPost protected com.codahale.metrics.Timer inMemoryProcessingTimer = metricRegistry.timer("In-memory processing timer"); - public PostCommentScoreFetchProjectionPerformanceTest(int postCount, int commentCount) { - super(postCount, commentCount); - } - @Override protected List postCommentScores(Long postId, int rank) { return doInJPA(entityManager -> { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/simple/PostCommentScoreRecursiveCTEPerformanceTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/simple/PostCommentScoreRecursiveCTEPerformanceTest.java index 91de3b58d..8868737cc 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/simple/PostCommentScoreRecursiveCTEPerformanceTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/simple/PostCommentScoreRecursiveCTEPerformanceTest.java @@ -12,10 +12,6 @@ */ public class PostCommentScoreRecursiveCTEPerformanceTest extends AbstractPostCommentScorePerformanceTest { - public PostCommentScoreRecursiveCTEPerformanceTest(int postCount, int commentCount) { - super(postCount, commentCount); - } - @Override protected List postCommentScores(Long postId, int rank) { return doInJPA(entityManager -> { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/simple/PostCommentScoreTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/simple/PostCommentScoreTest.java index d127d3622..76b372fc9 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/simple/PostCommentScoreTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/recursive/simple/PostCommentScoreTest.java @@ -6,11 +6,11 @@ import io.hypersistence.utils.hibernate.type.util.ClassImportIntegrator; import org.hibernate.jpa.boot.spi.IntegratorProvider; import org.hibernate.query.NativeQuery; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.*; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/sets/UnionIntersectExceptTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/sets/UnionIntersectExceptTest.java index 0a80fb238..d87bb318d 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/sets/UnionIntersectExceptTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/sets/UnionIntersectExceptTest.java @@ -7,7 +7,7 @@ import jakarta.persistence.Id; import jakarta.persistence.Table; import org.hibernate.annotations.NaturalId; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.Collections; @@ -15,7 +15,7 @@ import java.util.function.Predicate; import java.util.stream.Stream; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/spatial/SpatialTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/spatial/SpatialTest.java index 7f6dc3ab7..3a0637598 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/spatial/SpatialTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/spatial/SpatialTest.java @@ -3,13 +3,13 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import jakarta.persistence.Entity; import jakarta.persistence.Id; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.locationtech.jts.geom.Coordinate; import org.locationtech.jts.geom.Point; import org.locationtech.jts.io.ParseException; import org.locationtech.jts.io.WKTReader; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/subquery/SubqueryExistsTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/subquery/SubqueryExistsTest.java index db8d2e750..eb6fd7ec0 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/subquery/SubqueryExistsTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/subquery/SubqueryExistsTest.java @@ -4,15 +4,15 @@ import com.blazebit.persistence.CriteriaBuilderFactory; import com.blazebit.persistence.spi.CriteriaBuilderConfiguration; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.EntityManagerFactory; import jakarta.persistence.criteria.*; import java.util.List; import java.util.concurrent.ThreadLocalRandom; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertSame; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertSame; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/time/ExtractTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/time/ExtractTest.java index cfe104828..83dda83ee 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/time/ExtractTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/time/ExtractTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import jakarta.persistence.*; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.DayOfWeek; import java.time.LocalDateTime; @@ -10,7 +10,7 @@ import java.time.temporal.TemporalAdjusters; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/timeout/QueryTimeoutTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/timeout/QueryTimeoutTest.java index 0ba081cba..3cf830801 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/timeout/QueryTimeoutTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/timeout/QueryTimeoutTest.java @@ -4,7 +4,7 @@ import com.vladmihalcea.hpjp.util.exception.ExceptionUtil; import com.vladmihalcea.hpjp.util.providers.Database; import org.hibernate.query.NativeQuery; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.postgresql.util.PSQLException; import jakarta.persistence.*; @@ -12,9 +12,9 @@ import java.util.List; import java.util.concurrent.TimeUnit; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/timeout/SQLServerJDBCQueryTimeoutTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/timeout/SQLServerJDBCQueryTimeoutTest.java index 9dd572602..51c7e2b31 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/timeout/SQLServerJDBCQueryTimeoutTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/timeout/SQLServerJDBCQueryTimeoutTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.util.AbstractSQLServerIntegrationTest; import com.vladmihalcea.hpjp.util.exception.ExceptionUtil; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; @@ -11,8 +11,8 @@ import jakarta.persistence.Table; import java.util.concurrent.Executors; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/timeout/SQLServerJPAQueryTimeoutTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/timeout/SQLServerJPAQueryTimeoutTest.java index ead272f98..f0427c87d 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/timeout/SQLServerJPAQueryTimeoutTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/timeout/SQLServerJPAQueryTimeoutTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.util.AbstractSQLServerIntegrationTest; import com.vladmihalcea.hpjp.util.exception.ExceptionUtil; import org.hibernate.jpa.AvailableHints; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; @@ -11,8 +11,8 @@ import jakarta.persistence.Table; import java.util.Properties; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/timeout/SQLServerLockTimeoutTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/timeout/SQLServerLockTimeoutTest.java index 8b6bcea1c..f4d74b3ea 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/timeout/SQLServerLockTimeoutTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/timeout/SQLServerLockTimeoutTest.java @@ -2,13 +2,13 @@ import com.vladmihalcea.hpjp.util.AbstractSQLServerIntegrationTest; import com.vladmihalcea.hpjp.util.exception.ExceptionUtil; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.List; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/timeout/SQLServerServerSideTimeoutTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/timeout/SQLServerServerSideTimeoutTest.java index 4233a3d45..6e077b3d0 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/timeout/SQLServerServerSideTimeoutTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/timeout/SQLServerServerSideTimeoutTest.java @@ -1,11 +1,10 @@ package com.vladmihalcea.hpjp.hibernate.query.timeout; import com.vladmihalcea.hpjp.util.AbstractSQLServerIntegrationTest; +import jakarta.persistence.*; import org.hibernate.jpa.AvailableHints; -import org.hibernate.jpa.QueryHints; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import jakarta.persistence.*; import java.util.List; import java.util.Properties; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/timeout/SessionQueryTimeoutTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/timeout/SessionQueryTimeoutTest.java index 06ca5d42e..b2f2cd4ae 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/timeout/SessionQueryTimeoutTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/timeout/SessionQueryTimeoutTest.java @@ -5,13 +5,13 @@ import com.vladmihalcea.hpjp.util.providers.Database; import jakarta.persistence.*; import org.hibernate.jpa.AvailableHints; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.postgresql.util.PSQLException; import java.util.List; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/upsert/HibernateUpsertMergeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/upsert/HibernateUpsertMergeTest.java index 3708d1b08..92553502e 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/upsert/HibernateUpsertMergeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/upsert/HibernateUpsertMergeTest.java @@ -7,13 +7,13 @@ import jakarta.persistence.Id; import jakarta.persistence.Table; import org.hibernate.annotations.NaturalId; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.concurrent.CountDownLatch; import java.util.concurrent.atomic.AtomicBoolean; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/upsert/HibernateUpsertOnConflictTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/upsert/HibernateUpsertOnConflictTest.java index e82db6a34..e4e3b3155 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/upsert/HibernateUpsertOnConflictTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/upsert/HibernateUpsertOnConflictTest.java @@ -7,13 +7,13 @@ import jakarta.persistence.Id; import jakarta.persistence.Table; import org.hibernate.annotations.NaturalId; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.concurrent.CountDownLatch; import java.util.concurrent.atomic.AtomicBoolean; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/upsert/MySQLUpsertUniqueColumnTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/upsert/MySQLUpsertUniqueColumnTest.java index fc096d72a..598a64eca 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/upsert/MySQLUpsertUniqueColumnTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/upsert/MySQLUpsertUniqueColumnTest.java @@ -4,14 +4,14 @@ import com.vladmihalcea.hpjp.util.exception.ExceptionUtil; import org.hibernate.Session; import org.hibernate.annotations.NaturalId; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.concurrent.CountDownLatch; import java.util.concurrent.atomic.AtomicBoolean; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/upsert/PostgreSQLUpsertConcurrencyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/upsert/PostgreSQLUpsertConcurrencyTest.java index 903884553..03f3e5518 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/upsert/PostgreSQLUpsertConcurrencyTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/upsert/PostgreSQLUpsertConcurrencyTest.java @@ -5,7 +5,7 @@ import com.vladmihalcea.hpjp.util.providers.Database; import org.hibernate.Session; import org.hibernate.annotations.NaturalId; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.concurrent.CountDownLatch; @@ -13,8 +13,8 @@ import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/window/WindowFunctionRunningTotalTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/window/WindowFunctionRunningTotalTest.java index a8d53307c..71f4c7b87 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/window/WindowFunctionRunningTotalTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/query/window/WindowFunctionRunningTotalTest.java @@ -4,14 +4,14 @@ import com.vladmihalcea.hpjp.util.providers.Database; import jakarta.persistence.*; import org.hibernate.query.Query; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.Timestamp; import java.time.LocalDateTime; import java.util.Date; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea @@ -194,7 +194,7 @@ public void testSQL() { assertEquals(2560L, longValue(tuple1.get("amount"))); assertEquals(2560L, longValue(tuple1.get("balance"))); assertEquals(1L, longValue(tuple1.get("account_id"))); - assertEquals(Timestamp.valueOf(LocalDateTime.of(2019, 10, 13, 12, 23, 0)), tuple1.get("created_on")); + assertEquals(LocalDateTime.of(2019, 10, 13, 12, 23), tuple1.get("created_on")); Tuple tuple2 = tuples.get(1); assertEquals(2L, longValue(tuple2.get("nr"))); @@ -202,7 +202,7 @@ public void testSQL() { assertEquals(-200L, longValue(tuple2.get("amount"))); assertEquals(2360L, longValue(tuple2.get("balance"))); assertEquals(1L, longValue(tuple2.get("account_id"))); - assertEquals(Timestamp.valueOf(LocalDateTime.of(2019, 10, 14, 13, 23, 0)), tuple2.get("created_on")); + assertEquals(LocalDateTime.of(2019, 10, 14, 13, 23), tuple2.get("created_on")); Tuple tuple3 = tuples.get(2); assertEquals(3L, longValue(tuple3.get("nr"))); @@ -210,7 +210,7 @@ public void testSQL() { assertEquals(500L, longValue(tuple3.get("amount"))); assertEquals(2860L, longValue(tuple3.get("balance"))); assertEquals(1L, longValue(tuple3.get("account_id"))); - assertEquals(Timestamp.valueOf(LocalDateTime.of(2019, 10, 14, 15, 45, 0)), tuple3.get("created_on")); + assertEquals(LocalDateTime.of(2019, 10, 14, 15, 45), tuple3.get("created_on")); Tuple tuple4 = tuples.get(3); assertEquals(4L, longValue(tuple4.get("nr"))); @@ -218,7 +218,7 @@ public void testSQL() { assertEquals(-1850L, longValue(tuple4.get("amount"))); assertEquals(1010L, longValue(tuple4.get("balance"))); assertEquals(1L, longValue(tuple4.get("account_id"))); - assertEquals(Timestamp.valueOf(LocalDateTime.of(2019, 10, 15, 10, 15, 0)), tuple4.get("created_on")); + assertEquals(LocalDateTime.of(2019, 10, 15, 10, 15), tuple4.get("created_on")); Tuple tuple5 = tuples.get(4); assertEquals(1L, longValue(tuple5.get("nr"))); @@ -226,7 +226,7 @@ public void testSQL() { assertEquals(2560L, longValue(tuple5.get("amount"))); assertEquals(2560L, longValue(tuple5.get("balance"))); assertEquals(2L, longValue(tuple5.get("account_id"))); - assertEquals(Timestamp.valueOf(LocalDateTime.of(2019, 10, 13, 15, 23, 0)), tuple5.get("created_on")); + assertEquals(LocalDateTime.of(2019, 10, 13, 15, 23), tuple5.get("created_on")); Tuple tuple6 = tuples.get(5); assertEquals(2L, longValue(tuple6.get("nr"))); @@ -234,7 +234,7 @@ public void testSQL() { assertEquals(300L, longValue(tuple6.get("amount"))); assertEquals(2860L, longValue(tuple6.get("balance"))); assertEquals(2L, longValue(tuple6.get("account_id"))); - assertEquals(Timestamp.valueOf(LocalDateTime.of(2019, 10, 14, 11, 23, 0)), tuple6.get("created_on")); + assertEquals(LocalDateTime.of(2019, 10, 14, 11, 23), tuple6.get("created_on")); Tuple tuple7 = tuples.get(6); assertEquals(3L, longValue(tuple7.get("nr"))); @@ -242,7 +242,7 @@ public void testSQL() { assertEquals(-500L, longValue(tuple7.get("amount"))); assertEquals(2360L, longValue(tuple7.get("balance"))); assertEquals(2L, longValue(tuple7.get("account_id"))); - assertEquals(Timestamp.valueOf(LocalDateTime.of(2019, 10, 14, 14, 45, 0)), tuple7.get("created_on")); + assertEquals(LocalDateTime.of(2019, 10, 14, 14, 45), tuple7.get("created_on")); Tuple tuple8 = tuples.get(7); assertEquals(4L, longValue(tuple8.get("nr"))); @@ -250,7 +250,7 @@ public void testSQL() { assertEquals(-150L, longValue(tuple8.get("amount"))); assertEquals(2210L, longValue(tuple8.get("balance"))); assertEquals(2L, longValue(tuple8.get("account_id"))); - assertEquals(Timestamp.valueOf(LocalDateTime.of(2019, 10, 15, 10, 15, 0)), tuple8.get("created_on")); + assertEquals(LocalDateTime.of(2019, 10, 15, 10, 15), tuple8.get("created_on")); }); } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/schema/flyway/DropPostgreSQLPublicSchemaTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/schema/flyway/DropPostgreSQLPublicSchemaTest.java index 4e24ba3b5..e898db250 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/schema/flyway/DropPostgreSQLPublicSchemaTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/schema/flyway/DropPostgreSQLPublicSchemaTest.java @@ -2,9 +2,11 @@ import com.vladmihalcea.hpjp.util.providers.Database; import com.vladmihalcea.hpjp.util.spring.config.jpa.PostgreSQLJPAConfiguration; +import jakarta.persistence.EntityManager; +import jakarta.persistence.PersistenceContext; import org.hibernate.Session; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -13,18 +15,15 @@ import org.springframework.jdbc.datasource.init.ScriptUtils; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.transaction.TransactionException; import org.springframework.transaction.support.TransactionCallback; import org.springframework.transaction.support.TransactionTemplate; -import jakarta.persistence.EntityManager; -import jakarta.persistence.PersistenceContext; - /** * @author Vlad Mihalcea */ -@RunWith(SpringJUnit4ClassRunner.class) +@ExtendWith(SpringExtension.class) @ContextConfiguration(classes = PostgreSQLJPAConfiguration.class) @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_CLASS) public class DropPostgreSQLPublicSchemaTest { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/schema/flyway/FlywayTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/schema/flyway/FlywayTest.java index ba7fb734a..27e90b164 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/schema/flyway/FlywayTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/schema/flyway/FlywayTest.java @@ -10,16 +10,16 @@ import org.hibernate.service.spi.ServiceRegistryImplementor; import org.hibernate.tool.schema.internal.ExceptionHandlerHaltImpl; import org.hibernate.tool.schema.spi.*; -import org.junit.Ignore; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.transaction.TransactionException; import org.springframework.transaction.support.TransactionCallback; import org.springframework.transaction.support.TransactionTemplate; @@ -32,7 +32,7 @@ /** * @author Vlad Mihalcea */ -@RunWith(SpringJUnit4ClassRunner.class) +@ExtendWith(SpringExtension.class) @ContextConfiguration(classes = PostgreSQLFlywayConfiguration.class) @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_CLASS) public class FlywayTest { @@ -62,7 +62,7 @@ public void test() { } @Test - @Ignore + @Disabled public void testValidate() { Map settings = localContainerEntityManagerFactoryBean.getJpaPropertyMap(); EntityManagerFactoryBuilder entityManagerFactoryBuilder = Bootstrap.getEntityManagerFactoryBuilder( diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/sp/ActivityHistorySQLServerStoredProcedureTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/sp/ActivityHistorySQLServerStoredProcedureTest.java index 68c1bd460..5da9b738c 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/sp/ActivityHistorySQLServerStoredProcedureTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/sp/ActivityHistorySQLServerStoredProcedureTest.java @@ -4,14 +4,15 @@ import jakarta.persistence.EntityManager; import org.hibernate.Session; import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import java.sql.*; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.concurrent.TimeUnit; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea @@ -23,7 +24,7 @@ protected Class[] entities() { return new Class[]{}; } - @Before + @BeforeEach public void init() { if(!ENABLE_LONG_RUNNING_TESTS) { return; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/sp/MySQLStoredProcedureTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/sp/MySQLStoredProcedureTest.java index ba04c7aef..bcae4b168 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/sp/MySQLStoredProcedureTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/sp/MySQLStoredProcedureTest.java @@ -9,7 +9,7 @@ import org.hibernate.result.Output; import org.hibernate.result.ResultSetOutput; import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.CallableStatement; import java.sql.SQLException; @@ -20,7 +20,7 @@ import static com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider.Post; import static com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider.PostComment; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/sp/OracleCustomSQLWithStoredProcedureTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/sp/OracleCustomSQLWithStoredProcedureTest.java index 8b8425247..bfc1b6f8c 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/sp/OracleCustomSQLWithStoredProcedureTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/sp/OracleCustomSQLWithStoredProcedureTest.java @@ -1,19 +1,21 @@ package com.vladmihalcea.hpjp.hibernate.sp; import com.vladmihalcea.hpjp.util.AbstractOracleIntegrationTest; -import jakarta.persistence.*; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.Id; import org.hibernate.Session; -import org.hibernate.annotations.Loader; import org.hibernate.annotations.ResultCheckStyle; import org.hibernate.annotations.SQLDelete; import org.hibernate.annotations.SQLInsert; +import org.hibernate.annotations.SQLSelect; import org.jboss.logging.Logger; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.Statement; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; /** * @author Vlad Mihalcea @@ -29,8 +31,7 @@ protected Class[] entities() { }; } - public void init() { - super.init(); + public void afterInit() { doInJPA(entityManager -> { Session session = entityManager.unwrap( Session.class ); session.doWork( connection -> { @@ -81,16 +82,9 @@ public void test_sql_custom_crud() { sql = "{ call sp_delete_person( ? ) } ", callable = true ) - @Loader(namedQuery = "find_valid_person") - @NamedNativeQueries({ - @NamedNativeQuery( - name = "find_valid_person", - query = "SELECT id, name " + - "FROM person " + - "WHERE id = ? and valid = 1", - resultClass = Person.class - ) - }) + @SQLSelect(sql = "SELECT id, name " + + "FROM person " + + "WHERE id = ? and valid = 1") public static class Person { @Id diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/sp/OracleDeleteGlobalTableStoredProcedureTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/sp/OracleDeleteGlobalTableStoredProcedureTest.java index e050a2e2f..32cdec932 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/sp/OracleDeleteGlobalTableStoredProcedureTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/sp/OracleDeleteGlobalTableStoredProcedureTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractOracleIntegrationTest; import jakarta.persistence.*; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.Timestamp; import java.time.LocalDateTime; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/sp/OracleDeleteStoredProcedureTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/sp/OracleDeleteStoredProcedureTest.java index 9724d493a..de6df7b83 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/sp/OracleDeleteStoredProcedureTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/sp/OracleDeleteStoredProcedureTest.java @@ -2,8 +2,8 @@ import com.vladmihalcea.hpjp.util.AbstractOracleIntegrationTest; import jakarta.persistence.*; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import java.sql.Timestamp; import java.time.LocalDateTime; @@ -130,7 +130,7 @@ public void testStoredProcedureOutParameter() { } @Test - @Ignore + @Disabled public void testBulkDelete() { doInJPA(entityManager -> { long startNanos = System.nanoTime(); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/sp/OracleStoredProcedureTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/sp/OracleStoredProcedureTest.java index e65e38fbc..da722616e 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/sp/OracleStoredProcedureTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/sp/OracleStoredProcedureTest.java @@ -15,7 +15,8 @@ import org.hibernate.result.ResultSetOutput; import org.hibernate.type.StandardBasicTypes; import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import java.math.BigDecimal; import java.sql.CallableStatement; @@ -28,7 +29,7 @@ import static com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider.Post; import static com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider.PostComment; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea @@ -44,9 +45,7 @@ protected Class[] entities() { return entities.toArray(new Class[]{}); } - @Before - public void init() { - super.init(); + public void afterInit() { doInJDBC(connection -> { try(Statement statement = connection.createStatement()) { statement.executeUpdate( diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/sp/PostgreSQLStoredProcedureQATest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/sp/PostgreSQLStoredProcedureQATest.java index d77c6bcb4..3077dd22f 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/sp/PostgreSQLStoredProcedureQATest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/sp/PostgreSQLStoredProcedureQATest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import jakarta.persistence.*; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.ResultSet; import java.sql.SQLException; @@ -10,8 +10,8 @@ import java.time.LocalDateTime; import java.util.List; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/sp/PostgreSQLStoredProcedureTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/sp/PostgreSQLStoredProcedureTest.java index fc239845f..a82f023b5 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/sp/PostgreSQLStoredProcedureTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/sp/PostgreSQLStoredProcedureTest.java @@ -11,7 +11,7 @@ import org.hibernate.result.Output; import org.hibernate.result.ResultSetOutput; import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.*; import java.util.List; @@ -19,7 +19,7 @@ import static com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider.Post; import static com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider.PostComment; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/sp/SQLServerStoredProcedureTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/sp/SQLServerStoredProcedureTest.java index 3dac19cd0..775db08be 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/sp/SQLServerStoredProcedureTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/sp/SQLServerStoredProcedureTest.java @@ -6,7 +6,8 @@ import jakarta.persistence.StoredProcedureQuery; import org.hibernate.Session; import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import java.sql.CallableStatement; import java.sql.SQLException; @@ -17,7 +18,7 @@ import static com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider.Post; import static com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider.PostComment; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * @author Vlad Mihalcea @@ -31,9 +32,7 @@ protected Class[] entities() { return entityProvider.entities(); } - @Before - public void init() { - super.init(); + public void afterInit() { doInJDBC(connection -> { try(Statement statement = connection.createStatement()) { try { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/statistics/ConnectionStatisticsTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/statistics/ConnectionStatisticsTest.java index c9a23608a..d5be4550d 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/statistics/ConnectionStatisticsTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/statistics/ConnectionStatisticsTest.java @@ -7,12 +7,12 @@ import org.hibernate.cfg.StatisticsSettings; import org.hibernate.stat.Statistics; import org.hibernate.stat.internal.StatisticsInitiator; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Properties; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/statistics/SlowQueryLogTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/statistics/SlowQueryLogTest.java index 94826cba5..849503ca3 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/statistics/SlowQueryLogTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/statistics/SlowQueryLogTest.java @@ -11,7 +11,7 @@ import net.ttddyy.dsproxy.listener.logging.SLF4JSlowQueryListener; import net.ttddyy.dsproxy.support.ProxyDataSourceBuilder; import org.hibernate.annotations.CreationTimestamp; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Column; import jakarta.persistence.Entity; @@ -28,7 +28,7 @@ import java.util.concurrent.TimeUnit; import java.util.stream.LongStream; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/JavaSqlDateTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/JavaSqlDateTest.java index fcc42941a..cc336b7c4 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/JavaSqlDateTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/JavaSqlDateTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.time; import com.vladmihalcea.hpjp.util.AbstractMySQLIntegrationTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.sql.Date; @@ -9,7 +9,7 @@ import java.text.ParseException; import java.text.SimpleDateFormat; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/JavaUtilDateTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/JavaUtilDateTest.java index 02ab99a3f..2b4ae2772 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/JavaUtilDateTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/JavaUtilDateTest.java @@ -2,14 +2,14 @@ import com.vladmihalcea.hpjp.util.AbstractMySQLIntegrationTest; import org.hibernate.cfg.AvailableSettings; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/LocalDateAndLocalDateTimeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/LocalDateAndLocalDateTimeTest.java index 2da27819f..7fa042a82 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/LocalDateAndLocalDateTimeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/LocalDateAndLocalDateTimeTest.java @@ -2,14 +2,14 @@ import com.vladmihalcea.hpjp.util.AbstractMySQLIntegrationTest; import org.hibernate.cfg.AvailableSettings; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/ZonedDateTimeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/ZonedDateTimeTest.java index a4c565b77..a8a80f0d4 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/ZonedDateTimeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/ZonedDateTimeTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractMySQLIntegrationTest; import org.hibernate.cfg.AvailableSettings; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.time.LocalDate; @@ -11,7 +11,7 @@ import java.time.ZonedDateTime; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/offset/MySQLOffsetDateTimeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/offset/MySQLOffsetDateTimeTest.java index fafc349c1..56e6b5618 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/offset/MySQLOffsetDateTimeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/offset/MySQLOffsetDateTimeTest.java @@ -6,13 +6,13 @@ import org.hibernate.annotations.TimeZoneColumn; import org.hibernate.annotations.TimeZoneStorage; import org.hibernate.annotations.TimeZoneStorageType; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.LocalDate; import java.time.OffsetDateTime; import java.time.ZoneOffset; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/offset/OffsetDateTimeOffsetTimeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/offset/OffsetDateTimeOffsetTimeTest.java index 774c6056a..0ab6ff361 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/offset/OffsetDateTimeOffsetTimeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/offset/OffsetDateTimeOffsetTimeTest.java @@ -2,8 +2,8 @@ import com.vladmihalcea.hpjp.util.AbstractMySQLIntegrationTest; import org.hibernate.cfg.AvailableSettings; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import jakarta.persistence.Column; import jakarta.persistence.Entity; @@ -16,7 +16,7 @@ import java.time.ZoneOffset; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea @@ -36,7 +36,7 @@ protected void additionalProperties(Properties properties) { } @Test - @Ignore + @Disabled public void test() { ZoneOffset offset = OffsetDateTime.now().getOffset(); OffsetTime offsetTime = OffsetTime.of(7, 30, 0, 0, offset); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/offset/OffsetDateTimeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/offset/OffsetDateTimeTest.java index 25d2cf4e6..c143e6522 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/offset/OffsetDateTimeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/offset/OffsetDateTimeTest.java @@ -6,13 +6,13 @@ import org.hibernate.annotations.TimeZoneColumn; import org.hibernate.annotations.TimeZoneStorage; import org.hibernate.annotations.TimeZoneStorageType; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.LocalDate; import java.time.OffsetDateTime; import java.time.ZoneOffset; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/offset/PostgreSQLOffsetDateTimeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/offset/PostgreSQLOffsetDateTimeTest.java index 29a3421d4..df9585d56 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/offset/PostgreSQLOffsetDateTimeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/offset/PostgreSQLOffsetDateTimeTest.java @@ -3,13 +3,13 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; import jakarta.persistence.*; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.LocalDate; import java.time.OffsetDateTime; import java.time.ZoneOffset; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/utc/DefaultMySQLTimestampTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/utc/DefaultMySQLTimestampTest.java index 8536d4f0d..89a3a9e7d 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/utc/DefaultMySQLTimestampTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/utc/DefaultMySQLTimestampTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractMySQLIntegrationTest; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.ResultSet; import java.sql.Statement; @@ -11,7 +11,7 @@ import java.time.ZonedDateTime; import java.util.TimeZone; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/utc/DefaultPostgreSQLTimestampTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/utc/DefaultPostgreSQLTimestampTest.java index 64043a38f..eb48b2bb5 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/utc/DefaultPostgreSQLTimestampTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/time/utc/DefaultPostgreSQLTimestampTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.ResultSet; import java.sql.Statement; @@ -11,7 +11,7 @@ import java.time.ZonedDateTime; import java.util.TimeZone; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/transaction/ConsistencyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/transaction/ConsistencyTest.java index 35340d94d..72f998d2e 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/transaction/ConsistencyTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/transaction/ConsistencyTest.java @@ -9,7 +9,7 @@ import org.hibernate.Session; import org.hibernate.annotations.NaturalId; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.vladmihalcea.hpjp.util.AbstractMySQLIntegrationTest; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/transaction/MultipleTransactionsPerEntityManagerTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/transaction/MultipleTransactionsPerEntityManagerTest.java index f0d2fb124..8cb5c7241 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/transaction/MultipleTransactionsPerEntityManagerTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/transaction/MultipleTransactionsPerEntityManagerTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.EntityManager; import jakarta.persistence.EntityTransaction; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/transaction/SessionContainsTransactionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/transaction/SessionContainsTransactionTest.java index 882aa7fe7..12acc3056 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/transaction/SessionContainsTransactionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/transaction/SessionContainsTransactionTest.java @@ -1,14 +1,14 @@ package com.vladmihalcea.hpjp.hibernate.transaction; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.Entity; import jakarta.persistence.EntityManager; import jakarta.persistence.EntityTransaction; import jakarta.persistence.Id; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/transaction/identifier/OracleTransactionIdTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/transaction/identifier/OracleTransactionIdTest.java index 84097651f..e47114ad5 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/transaction/identifier/OracleTransactionIdTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/transaction/identifier/OracleTransactionIdTest.java @@ -4,8 +4,8 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; import jakarta.persistence.*; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.junit.runners.Parameterized; import java.util.Arrays; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/transaction/identifier/TransactionIdTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/transaction/identifier/TransactionIdTest.java index ccaea11a1..ce09337d6 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/transaction/identifier/TransactionIdTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/transaction/identifier/TransactionIdTest.java @@ -2,8 +2,12 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.junit.jupiter.params.Parameter; +import org.junit.jupiter.params.ParameterizedClass; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; import org.junit.runners.Parameterized; import jakarta.persistence.Entity; @@ -12,19 +16,17 @@ import jakarta.persistence.Version; import java.util.Arrays; import java.util.Collection; +import java.util.stream.Stream; + +import org.junit.runner.RunWith; /** * @author Vlad Mihalcea */ -@RunWith(Parameterized.class) +@ParameterizedClass +@MethodSource("parameters") public class TransactionIdTest extends AbstractTest { - private Database database; - - public TransactionIdTest(Database database) { - this.database = database; - } - @Override protected Database database() { return database; @@ -33,18 +35,19 @@ protected Database database() { @Override protected Class[] entities() { return new Class[]{ - Post.class + Post.class }; } - @Parameterized.Parameters - public static Collection databases() { - return Arrays.asList( - new Object[]{Database.HSQLDB}, - new Object[]{Database.ORACLE}, - new Object[]{Database.SQLSERVER}, - new Object[]{Database.POSTGRESQL}, - new Object[]{Database.MYSQL} + @Parameter + private Database database; + + public static Stream parameters() { + return Stream.of( + Arguments.of(Database.ORACLE), + Arguments.of(Database.SQLSERVER), + Arguments.of(Database.POSTGRESQL), + Arguments.of(Database.MYSQL) ); } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/CharacterTypeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/CharacterTypeTest.java index fee4ed957..24539efbb 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/CharacterTypeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/CharacterTypeTest.java @@ -4,14 +4,14 @@ import io.hypersistence.utils.hibernate.type.basic.NullableCharacterType; import jakarta.persistence.*; import org.hibernate.annotations.Type; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.SQLException; import java.sql.Statement; import java.util.List; import java.util.concurrent.atomic.AtomicReference; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea @@ -26,8 +26,7 @@ protected Class[] entities() { } @Override - public void init() { - super.init(); + public void afterInit() { doInJDBC(connection -> { try ( Statement statement = connection.createStatement(); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/IPv4InetAddressJavaTypeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/IPv4InetAddressJavaTypeTest.java index 0db297664..8c21a0cd7 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/IPv4InetAddressJavaTypeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/IPv4InetAddressJavaTypeTest.java @@ -5,7 +5,7 @@ import org.hibernate.HibernateException; import org.hibernate.annotations.JavaType; import org.hibernate.type.descriptor.java.InetAddressJavaType; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.net.Inet4Address; import java.net.InetAddress; @@ -14,7 +14,7 @@ import java.sql.Statement; import java.util.List; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/IPv4PostgreSQLInetJdbcTypeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/IPv4PostgreSQLInetJdbcTypeTest.java index 409c33d6a..c7cb28c9a 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/IPv4PostgreSQLInetJdbcTypeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/IPv4PostgreSQLInetJdbcTypeTest.java @@ -6,15 +6,15 @@ import jakarta.persistence.Id; import jakarta.persistence.Table; import org.hibernate.annotations.JdbcType; -import org.hibernate.dialect.PostgreSQLInetJdbcType; -import org.junit.Test; +import org.hibernate.dialect.type.PostgreSQLInetJdbcType; +import org.junit.jupiter.api.Test; import java.sql.SQLException; import java.sql.Statement; import java.util.List; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/IPv4TypeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/IPv4TypeTest.java index 7d2e8fcda..77a0e33fc 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/IPv4TypeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/IPv4TypeTest.java @@ -4,7 +4,7 @@ import io.hypersistence.utils.hibernate.type.basic.Inet; import jakarta.persistence.*; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.PreparedStatement; import java.sql.ResultSet; @@ -13,7 +13,7 @@ import java.util.List; import java.util.Properties; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/LongToNumericTypeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/LongToNumericTypeTest.java index f1f4ae1bc..976d0599c 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/LongToNumericTypeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/LongToNumericTypeTest.java @@ -15,7 +15,7 @@ import org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl; import org.hibernate.jpa.boot.internal.PersistenceUnitInfoDescriptor; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.vladmihalcea.hpjp.util.AbstractSQLServerIntegrationTest; import com.vladmihalcea.hpjp.util.PersistenceUnitInfoImpl; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/MySQLTextStringTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/MySQLTextStringTest.java index f54e784f9..e26be5b70 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/MySQLTextStringTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/MySQLTextStringTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.util.AbstractMySQLIntegrationTest; import org.hibernate.annotations.JdbcType; import org.hibernate.type.descriptor.jdbc.LongVarcharJdbcType; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.Arrays; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/PostgreSQLRangeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/PostgreSQLRangeTest.java index 2356a70ef..d19dae47b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/PostgreSQLRangeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/PostgreSQLRangeTest.java @@ -7,14 +7,14 @@ import org.hibernate.Session; import org.hibernate.annotations.NaturalId; import org.hibernate.annotations.Type; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.math.BigDecimal; import java.time.LocalDate; import java.util.List; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/PostgresSelectGeneratorTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/PostgresSelectGeneratorTest.java index 851c5edda..aeeff9f1e 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/PostgresSelectGeneratorTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/PostgresSelectGeneratorTest.java @@ -1,13 +1,12 @@ package com.vladmihalcea.hpjp.hibernate.type; import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; +import jakarta.persistence.*; import org.hibernate.annotations.GenericGenerator; import org.hibernate.annotations.NaturalId; -import org.junit.Test; - -import jakarta.persistence.*; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * @author Vlad Mihalcea @@ -22,14 +21,12 @@ protected Class[] entities() { } @Override - public void init() { + public void beforeInit() { executeStatement("CREATE SEQUENCE event_sequence START 1"); - super.init(); } @Override - public void destroy() { - super.destroy(); + public void afterDestroy() { executeStatement("DROP SEQUENCE event_sequence"); } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/PostgresUUIDIdTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/PostgresUUIDIdTest.java index 4b519026a..9e9295ae0 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/PostgresUUIDIdTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/PostgresUUIDIdTest.java @@ -2,11 +2,11 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import jakarta.persistence.*; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.UUID; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * @author Vlad Mihalcea @@ -21,19 +21,13 @@ protected Class[] entities() { } @Override - public void init() { + public void beforeInit() { executeStatement("CREATE EXTENSION IF NOT EXISTS \"uuid-ossp\""); - super.init(); } @Override - public void destroy() { - doInJPA(entityManager -> { - entityManager.createNativeQuery( - "DROP EXTENSION \"uuid-ossp\" CASCADE" - ).executeUpdate(); - }); - super.destroy(); + public void afterDestroy() { + executeStatement("DROP EXTENSION \"uuid-ossp\" CASCADE"); } @Test diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/PostgresUUIDPropertyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/PostgresUUIDPropertyTest.java index 061dc4292..33ee9e6f2 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/PostgresUUIDPropertyTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/PostgresUUIDPropertyTest.java @@ -2,11 +2,11 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import jakarta.persistence.*; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.UUID; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * @author Vlad Mihalcea @@ -21,19 +21,13 @@ protected Class[] entities() { } @Override - public void init() { + public void beforeInit() { executeStatement("CREATE EXTENSION IF NOT EXISTS \"uuid-ossp\""); - super.init(); } @Override - public void destroy() { - doInJPA(entityManager -> { - entityManager.createNativeQuery( - "DROP EXTENSION \"uuid-ossp\" CASCADE" - ).executeUpdate(); - }); - super.destroy(); + public void afterDestroy() { + executeStatement("DROP EXTENSION \"uuid-ossp\" CASCADE"); } @Test diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/PostgresUUIDTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/PostgresUUIDTest.java index 1492ef70c..54301b972 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/PostgresUUIDTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/PostgresUUIDTest.java @@ -1,15 +1,14 @@ package com.vladmihalcea.hpjp.hibernate.type; import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; -import org.hibernate.annotations.Generated; -import org.hibernate.annotations.GenerationTime; -import org.junit.Test; - import jakarta.persistence.*; +import org.hibernate.annotations.Generated; +import org.junit.jupiter.api.Test; import java.util.UUID; -import static org.junit.Assert.assertNotNull; +import static org.hibernate.generator.EventType.INSERT; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * @author Vlad Mihalcea @@ -24,19 +23,13 @@ protected Class[] entities() { } @Override - public void init() { + public void beforeInit() { executeStatement("CREATE EXTENSION IF NOT EXISTS \"uuid-ossp\""); - super.init(); } @Override - public void destroy() { - doInJPA(entityManager -> { - entityManager.createNativeQuery( - "DROP EXTENSION \"uuid-ossp\" CASCADE" - ).executeUpdate(); - }); - super.destroy(); + public void afterDestroy() { + executeStatement("DROP EXTENSION \"uuid-ossp\" CASCADE"); } @Test @@ -58,7 +51,7 @@ public static class Event { @GeneratedValue private Long id; - @Generated(GenerationTime.INSERT) + @Generated(event = {INSERT}) @Column(columnDefinition = "UUID NOT NULL DEFAULT uuid_generate_v4()", insertable = false) private UUID uuid; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/TaskTypingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/TaskTypingTest.java index 70916b358..9f74f92cd 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/TaskTypingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/TaskTypingTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import com.vladmihalcea.hpjp.util.providers.entity.TaskEntityProvider; -import org.junit.Test; +import org.junit.jupiter.api.Test; /** * EntityGraphMapperTest - Test mapping to entity diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/array/EnumArrayTypeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/array/EnumArrayTypeTest.java index 428b257bf..b0ffb4048 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/array/EnumArrayTypeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/array/EnumArrayTypeTest.java @@ -7,9 +7,9 @@ import jakarta.persistence.Entity; import jakarta.persistence.Table; import org.hibernate.annotations.Type; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/array/PostgreSQLArrayTypeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/array/PostgreSQLArrayTypeTest.java index b5dc94038..de10b614d 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/array/PostgreSQLArrayTypeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/array/PostgreSQLArrayTypeTest.java @@ -8,9 +8,9 @@ import jakarta.persistence.Entity; import jakarta.persistence.Table; import org.hibernate.annotations.Type; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.assertArrayEquals; +import static org.junit.jupiter.api.Assertions.assertArrayEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/array/PostgreSQLArrayUnnestTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/array/PostgreSQLArrayUnnestTest.java index 03baafa47..c82625d65 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/array/PostgreSQLArrayUnnestTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/array/PostgreSQLArrayUnnestTest.java @@ -4,7 +4,7 @@ import io.hypersistence.utils.hibernate.type.array.IntArrayType; import jakarta.persistence.*; import org.hibernate.annotations.Type; -import org.junit.Test; +import org.junit.jupiter.api.Test; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/attributeconverter/AttributeConverterMonthDayAutoRegisterTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/attributeconverter/AttributeConverterMonthDayAutoRegisterTest.java index 03bf6fa67..e63a38edf 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/attributeconverter/AttributeConverterMonthDayAutoRegisterTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/attributeconverter/AttributeConverterMonthDayAutoRegisterTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import org.hibernate.boot.MetadataBuilder; import org.hibernate.boot.spi.MetadataBuilderContributor; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.time.LocalDate; @@ -11,7 +11,7 @@ import java.time.MonthDay; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/attributeconverter/AttributeConverterMonthDayTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/attributeconverter/AttributeConverterMonthDayTest.java index 95e8d616a..2ec444f2e 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/attributeconverter/AttributeConverterMonthDayTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/attributeconverter/AttributeConverterMonthDayTest.java @@ -2,15 +2,15 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.time.LocalDate; import java.time.Month; import java.time.MonthDay; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/attributeconverter/MySQLYearAndMonthIntegerTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/attributeconverter/MySQLYearAndMonthIntegerTest.java index c91adcb35..839281917 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/attributeconverter/MySQLYearAndMonthIntegerTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/attributeconverter/MySQLYearAndMonthIntegerTest.java @@ -7,13 +7,13 @@ import org.hibernate.Session; import org.hibernate.annotations.NaturalId; import org.hibernate.annotations.Type; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.Month; import java.time.Year; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/attributeconverter/MySQLYearMonthIntegerTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/attributeconverter/MySQLYearMonthIntegerTest.java index f281bbf72..20294b255 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/attributeconverter/MySQLYearMonthIntegerTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/attributeconverter/MySQLYearMonthIntegerTest.java @@ -3,12 +3,12 @@ import com.vladmihalcea.hpjp.util.AbstractMySQLIntegrationTest; import org.hibernate.Session; import org.hibernate.annotations.NaturalId; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.time.YearMonth; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/attributeconverter/PostgreSQLYearMonthDateTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/attributeconverter/PostgreSQLYearMonthDateTest.java index dd8e7157c..21a3d2aa9 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/attributeconverter/PostgreSQLYearMonthDateTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/attributeconverter/PostgreSQLYearMonthDateTest.java @@ -3,14 +3,14 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import org.hibernate.Session; import org.hibernate.annotations.NaturalId; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.time.Instant; import java.time.YearMonth; import java.time.ZoneId; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/attributeconverter/PostgreSQLYearMonthIntegerConverterAutoApplyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/attributeconverter/PostgreSQLYearMonthIntegerConverterAutoApplyTest.java index 4b5a39977..b62318215 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/attributeconverter/PostgreSQLYearMonthIntegerConverterAutoApplyTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/attributeconverter/PostgreSQLYearMonthIntegerConverterAutoApplyTest.java @@ -4,13 +4,13 @@ import org.hibernate.Session; import org.hibernate.annotations.NaturalId; import org.hibernate.boot.spi.MetadataBuilderContributor; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.time.YearMonth; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/attributeconverter/PostgreSQLYearMonthIntegerTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/attributeconverter/PostgreSQLYearMonthIntegerTest.java index 1227fe8e1..fecc4e77b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/attributeconverter/PostgreSQLYearMonthIntegerTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/attributeconverter/PostgreSQLYearMonthIntegerTest.java @@ -3,12 +3,12 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import org.hibernate.Session; import org.hibernate.annotations.NaturalId; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.time.YearMonth; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/attributeconverter/YearAndMonthTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/attributeconverter/YearAndMonthTest.java index ef52af4fd..a4ac29233 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/attributeconverter/YearAndMonthTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/attributeconverter/YearAndMonthTest.java @@ -3,13 +3,13 @@ import com.vladmihalcea.hpjp.util.AbstractMySQLIntegrationTest; import org.hibernate.Session; import org.hibernate.annotations.NaturalId; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.time.Month; import java.time.Year; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/binary/MySQLBinaryTypeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/binary/MySQLBinaryTypeTest.java index 0c834781f..6967857c0 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/binary/MySQLBinaryTypeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/binary/MySQLBinaryTypeTest.java @@ -5,12 +5,12 @@ import jakarta.persistence.*; import org.hibernate.Session; import org.hibernate.annotations.NaturalId; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; -import static org.junit.Assert.assertArrayEquals; +import static org.junit.jupiter.api.Assertions.assertArrayEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/DateTimeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/DateTimeTest.java index bcc2208df..8a91824ec 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/DateTimeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/DateTimeTest.java @@ -5,8 +5,8 @@ import jakarta.persistence.*; import jakarta.validation.constraints.NotNull; import org.hibernate.cfg.AvailableSettings; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import java.sql.Timestamp; import java.time.*; @@ -14,7 +14,7 @@ import java.util.List; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/InstantTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/InstantTest.java index bf240bf36..28e3763bb 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/InstantTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/InstantTest.java @@ -6,13 +6,13 @@ import org.hibernate.Session; import org.hibernate.annotations.NaturalId; import org.hibernate.annotations.Type; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.*; import java.time.temporal.ChronoUnit; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertSame; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertSame; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/LocalDateTimeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/LocalDateTimeTest.java index 099e8931b..408154a4d 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/LocalDateTimeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/LocalDateTimeTest.java @@ -6,13 +6,13 @@ import org.hibernate.Session; import org.hibernate.annotations.NaturalId; import org.hibernate.annotations.Type; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.*; import java.time.temporal.ChronoUnit; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertSame; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertSame; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/MySQLDateTimeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/MySQLDateTimeTest.java index 16a35804a..3a4c3539f 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/MySQLDateTimeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/MySQLDateTimeTest.java @@ -6,7 +6,7 @@ import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.LocalDateTime; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/MySQLJavaDateTimeJDBCBindingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/MySQLJavaDateTimeJDBCBindingTest.java index 94c8704ec..09a830dc7 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/MySQLJavaDateTimeJDBCBindingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/MySQLJavaDateTimeJDBCBindingTest.java @@ -7,12 +7,12 @@ import jakarta.persistence.Id; import jakarta.persistence.Table; import org.hibernate.cfg.AvailableSettings; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.LocalDateTime; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/PostgreSQLIntervalDurationTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/PostgreSQLIntervalDurationTest.java index b1f60aa21..b726af1db 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/PostgreSQLIntervalDurationTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/PostgreSQLIntervalDurationTest.java @@ -11,7 +11,7 @@ import org.hibernate.annotations.Type; import org.hibernate.jpa.boot.spi.TypeContributorList; import org.hibernate.query.NativeQuery; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.Duration; import java.time.LocalDate; @@ -21,7 +21,7 @@ import java.util.Properties; import static org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.TYPE_CONTRIBUTORS; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/PostgreSQLJavaDateTimeJDBCBindingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/PostgreSQLJavaDateTimeJDBCBindingTest.java index 10232f3c9..2da969072 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/PostgreSQLJavaDateTimeJDBCBindingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/PostgreSQLJavaDateTimeJDBCBindingTest.java @@ -7,14 +7,14 @@ import jakarta.persistence.Id; import jakarta.persistence.Table; import org.hibernate.cfg.AvailableSettings; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.LocalDateTime; import java.time.OffsetDateTime; import java.time.ZoneOffset; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/PostgreSQLTimestampTimezoneHikariTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/PostgreSQLTimestampTimezoneHikariTest.java index d60d13758..d017ca0e0 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/PostgreSQLTimestampTimezoneHikariTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/PostgreSQLTimestampTimezoneHikariTest.java @@ -5,14 +5,14 @@ import com.zaxxer.hikari.HikariConfig; import org.hibernate.Session; import org.hibernate.cfg.AvailableSettings; -import org.junit.Test; +import org.junit.jupiter.api.Test; import javax.sql.DataSource; import java.sql.ResultSet; import java.sql.Statement; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/PostgreSQLTimestampTimezoneTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/PostgreSQLTimestampTimezoneTest.java index 2a77b3ff0..ebac75b99 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/PostgreSQLTimestampTimezoneTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/PostgreSQLTimestampTimezoneTest.java @@ -4,14 +4,14 @@ import com.vladmihalcea.hpjp.util.providers.Database; import org.hibernate.Session; import org.hibernate.cfg.AvailableSettings; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.ResultSet; import java.sql.Statement; import java.util.Properties; import java.util.TimeZone; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/SQLServerJavaDateTimeJDBCBindingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/SQLServerJavaDateTimeJDBCBindingTest.java index e8648314c..dc5f5bec1 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/SQLServerJavaDateTimeJDBCBindingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/SQLServerJavaDateTimeJDBCBindingTest.java @@ -7,7 +7,7 @@ import jakarta.persistence.Id; import jakarta.persistence.Table; import org.hibernate.cfg.AvailableSettings; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.LocalDateTime; import java.time.OffsetDateTime; @@ -15,7 +15,7 @@ import java.time.ZonedDateTime; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/WebToDatabaseTimestampTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/WebToDatabaseTimestampTest.java index b5c6b6fff..79f41cd92 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/WebToDatabaseTimestampTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/WebToDatabaseTimestampTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; import jakarta.persistence.*; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.LocalDateTime; import java.time.OffsetDateTime; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/OracleAllTimestampTypesOffsetDateTimeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/OracleAllTimestampTypesOffsetDateTimeTest.java index 4e5f70575..0c33d6491 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/OracleAllTimestampTypesOffsetDateTimeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/OracleAllTimestampTypesOffsetDateTimeTest.java @@ -7,13 +7,13 @@ import jakarta.persistence.Id; import jakarta.persistence.Table; import org.hibernate.annotations.DynamicUpdate; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.LocalDateTime; import java.time.OffsetDateTime; import java.time.ZoneOffset; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/OracleDateVsTimestampTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/OracleDateVsTimestampTest.java index 2474232ed..9d86d7ed1 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/OracleDateVsTimestampTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/OracleDateVsTimestampTest.java @@ -4,7 +4,7 @@ import com.vladmihalcea.hpjp.util.providers.Database; import jakarta.persistence.*; import org.hibernate.cfg.AvailableSettings; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.LocalDateTime; import java.time.OffsetDateTime; @@ -13,7 +13,7 @@ import java.util.Properties; import static com.vladmihalcea.hpjp.hibernate.type.json.model.Participant_.event; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/OracleJavaDateTimeJDBCBindingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/OracleJavaDateTimeJDBCBindingTest.java index 3f714f4b5..21498f81f 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/OracleJavaDateTimeJDBCBindingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/OracleJavaDateTimeJDBCBindingTest.java @@ -7,7 +7,7 @@ import jakarta.persistence.Id; import jakarta.persistence.Table; import org.hibernate.cfg.AvailableSettings; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.LocalDateTime; import java.time.OffsetDateTime; @@ -15,7 +15,7 @@ import java.time.ZonedDateTime; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/OracleTimestampColumnSizeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/OracleTimestampColumnSizeTest.java index f6c4bc2f9..f47360c6b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/OracleTimestampColumnSizeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/OracleTimestampColumnSizeTest.java @@ -4,7 +4,7 @@ import com.vladmihalcea.hpjp.util.providers.Database; import jakarta.persistence.*; import org.hibernate.annotations.DynamicUpdate; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.OffsetDateTime; import java.time.ZoneId; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/OracleTimestampWithTimeZoneOffsetDateTimeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/OracleTimestampWithTimeZoneOffsetDateTimeTest.java index 5000c5e5d..99b7a3f2f 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/OracleTimestampWithTimeZoneOffsetDateTimeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/OracleTimestampWithTimeZoneOffsetDateTimeTest.java @@ -10,14 +10,14 @@ import org.hibernate.annotations.DynamicInsert; import org.hibernate.annotations.DynamicUpdate; import org.hibernate.annotations.NaturalId; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.ResultSet; import java.sql.Statement; import java.time.OffsetDateTime; import java.time.ZoneOffset; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/OracleTimestampWithTimeZoneVsLocalTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/OracleTimestampWithTimeZoneVsLocalTest.java index b442e3d89..dda652f4f 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/OracleTimestampWithTimeZoneVsLocalTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/OracleTimestampWithTimeZoneVsLocalTest.java @@ -10,13 +10,13 @@ import org.hibernate.annotations.DynamicUpdate; import org.hibernate.annotations.JdbcType; import org.hibernate.type.descriptor.jdbc.ZonedDateTimeJdbcType; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.ResultSet; import java.sql.Statement; import java.time.*; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea @@ -189,7 +189,7 @@ INSERT INTO event (id, created_on) Event event = entityManager.find(Event.class, 1); assertEquals( - ZonedDateTime.of(2031, 12, 10, 7, 30, 45, 9876543, ZoneId.of("Europe/Paris")) + ZonedDateTime.of(2031, 12, 10, 7, 30, 45, 987654000, ZoneId.of("Europe/Paris")) .withZoneSameInstant(ZoneId.systemDefault()).toOffsetDateTime(), event.getLastAccessedOn() ); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/OracleTimestampWithTimeZoneZonedDateTimeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/OracleTimestampWithTimeZoneZonedDateTimeTest.java index 4a30a7dea..31daa07a5 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/OracleTimestampWithTimeZoneZonedDateTimeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/OracleTimestampWithTimeZoneZonedDateTimeTest.java @@ -12,14 +12,14 @@ import org.hibernate.annotations.JdbcType; import org.hibernate.annotations.NaturalId; import org.hibernate.type.descriptor.jdbc.ZonedDateTimeJdbcType; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.ResultSet; import java.sql.Statement; import java.time.ZoneId; import java.time.ZonedDateTime; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/SQLServerDateTimeColumnSizeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/SQLServerDateTimeColumnSizeTest.java index 71e2bd881..4bf390057 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/SQLServerDateTimeColumnSizeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/SQLServerDateTimeColumnSizeTest.java @@ -4,7 +4,7 @@ import com.vladmihalcea.hpjp.util.providers.Database; import jakarta.persistence.*; import org.hibernate.annotations.DynamicUpdate; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.OffsetDateTime; import java.time.ZoneId; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/SQLServerDateTimeOffsetColumnSizeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/SQLServerDateTimeOffsetColumnSizeTest.java index e8217467e..b2d360b8a 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/SQLServerDateTimeOffsetColumnSizeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/SQLServerDateTimeOffsetColumnSizeTest.java @@ -4,7 +4,7 @@ import com.vladmihalcea.hpjp.util.providers.Database; import jakarta.persistence.*; import org.hibernate.annotations.DynamicUpdate; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.OffsetDateTime; import java.time.ZoneId; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/SQLServerDateTimeVsOffsetTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/SQLServerDateTimeVsOffsetTest.java index fb417fa3d..6b13d5472 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/SQLServerDateTimeVsOffsetTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/datetime/oracle/SQLServerDateTimeVsOffsetTest.java @@ -10,13 +10,13 @@ import org.hibernate.annotations.DynamicUpdate; import org.hibernate.annotations.JdbcType; import org.hibernate.type.descriptor.jdbc.ZonedDateTimeJdbcType; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.ResultSet; import java.sql.Statement; import java.time.*; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/MySQLJsonRecordTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/MySQLJsonRecordTest.java index b9b7f795c..b66957fe9 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/MySQLJsonRecordTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/MySQLJsonRecordTest.java @@ -9,12 +9,12 @@ import org.hibernate.Session; import org.hibernate.annotations.NaturalId; import org.hibernate.annotations.Type; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.io.Serializable; import java.net.URL; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/MySQLJsonTypeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/MySQLJsonTypeTest.java index 00dd181ea..7e5a6cc4f 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/MySQLJsonTypeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/MySQLJsonTypeTest.java @@ -10,12 +10,12 @@ import jakarta.persistence.ManyToOne; import jakarta.persistence.Table; import org.hibernate.annotations.Type; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.List; import java.util.concurrent.atomic.AtomicReference; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/PostgreSQLJsonBinaryTypeLazyGroupTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/PostgreSQLJsonBinaryTypeLazyGroupTest.java index c516d9ecc..42bbba547 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/PostgreSQLJsonBinaryTypeLazyGroupTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/PostgreSQLJsonBinaryTypeLazyGroupTest.java @@ -5,11 +5,11 @@ import com.vladmihalcea.hpjp.hibernate.type.json.model.Participant; import com.vladmihalcea.hpjp.hibernate.type.json.model.Ticket; import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.concurrent.atomic.AtomicReference; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/PostgreSQLJsonBinaryTypeNativeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/PostgreSQLJsonBinaryTypeNativeTest.java index f06f7291e..d223ec29e 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/PostgreSQLJsonBinaryTypeNativeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/PostgreSQLJsonBinaryTypeNativeTest.java @@ -1,13 +1,16 @@ package com.vladmihalcea.hpjp.hibernate.type.json; +import com.fasterxml.jackson.databind.JsonNode; import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import io.hypersistence.utils.hibernate.type.json.JsonBinaryType; +import io.hypersistence.utils.hibernate.type.json.internal.JacksonUtil; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; import org.hibernate.annotations.Type; -import org.junit.Test; +import org.hibernate.query.Query; +import org.junit.jupiter.api.Test; import java.io.Serializable; import java.math.BigDecimal; @@ -15,7 +18,7 @@ import java.util.Arrays; import java.util.List; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * @author Vlad Mihalcea @@ -97,21 +100,14 @@ public void testUpdateListUsingNativeSQL() { isbn = :isbn AND jsonb_array_length(reviews) = 0 """) - .setParameter("isbn", "978-9730228236") - .unwrap(org.hibernate.query.Query.class) - .setParameter( - "reviews", - Arrays.asList( - new BookReview() - .setReview("Excellent book to understand Java Persistence") - .setRating(5), - new BookReview() - .setReview("The best JPA ORM book out there") - .setRating(5) - ), - new JsonBinaryType(BookProperties.class) - ) - .executeUpdate(); + .setParameter("isbn", "978-9730228236") + .unwrap(Query.class) + .setParameter( + "reviews", + JacksonUtil.fromString("[{\"review\": \"Excellent book to understand Java Persistence\", \"rating\": 5}, {\"review\": \"The best JPA ORM book out there\", \"rating\": 4}]", JsonNode.class), + new JsonBinaryType(JsonNode.class) + ) + .executeUpdate(); entityManager.refresh(book); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/PostgreSQLJsonBinaryTypeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/PostgreSQLJsonBinaryTypeTest.java index ff37005f5..ebd6ebe33 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/PostgreSQLJsonBinaryTypeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/PostgreSQLJsonBinaryTypeTest.java @@ -10,11 +10,11 @@ import jakarta.persistence.ManyToOne; import jakarta.persistence.Table; import org.hibernate.annotations.Type; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/PostgreSQLJsonDynamicUpdateTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/PostgreSQLJsonDynamicUpdateTest.java index 373e8afa0..dae9bb81b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/PostgreSQLJsonDynamicUpdateTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/PostgreSQLJsonDynamicUpdateTest.java @@ -7,7 +7,7 @@ import org.hibernate.annotations.DynamicUpdate; import org.hibernate.annotations.NaturalId; import org.hibernate.annotations.Type; -import org.junit.Test; +import org.junit.jupiter.api.Test; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/PostgreSQLJsonNodeBinaryTypeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/PostgreSQLJsonNodeBinaryTypeTest.java index 192c5385e..c776aacbc 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/PostgreSQLJsonNodeBinaryTypeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/PostgreSQLJsonNodeBinaryTypeTest.java @@ -8,10 +8,10 @@ import org.hibernate.Session; import org.hibernate.annotations.NaturalId; import org.hibernate.annotations.Type; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/PostgreSQLJsonRecordTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/PostgreSQLJsonRecordTest.java index 094d38fc3..e1b999aa2 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/PostgreSQLJsonRecordTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/PostgreSQLJsonRecordTest.java @@ -9,12 +9,12 @@ import org.hibernate.Session; import org.hibernate.annotations.NaturalId; import org.hibernate.annotations.Type; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.io.Serializable; import java.net.URL; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/PostgreSQLJsonStringTypeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/PostgreSQLJsonStringTypeTest.java index 9a4a95af6..6187eb596 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/PostgreSQLJsonStringTypeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/PostgreSQLJsonStringTypeTest.java @@ -10,12 +10,12 @@ import jakarta.persistence.ManyToOne; import jakarta.persistence.Table; import org.hibernate.annotations.Type; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.List; import java.util.concurrent.atomic.AtomicReference; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/PostgreSQLJsonTypeRegistryTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/PostgreSQLJsonTypeRegistryTest.java index a0d5c4bab..538134887 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/PostgreSQLJsonTypeRegistryTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/PostgreSQLJsonTypeRegistryTest.java @@ -9,13 +9,13 @@ import org.hibernate.annotations.Type; import org.hibernate.jpa.boot.spi.TypeContributorList; import org.hibernate.query.NativeQuery; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Collections; import java.util.Properties; import static org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.TYPE_CONTRIBUTORS; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/PostgreSQLNativeJsonMapTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/PostgreSQLNativeJsonMapTest.java index fa02e3e29..21bf907ed 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/PostgreSQLNativeJsonMapTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/PostgreSQLNativeJsonMapTest.java @@ -6,7 +6,7 @@ import org.hibernate.annotations.JdbcTypeCode; import org.hibernate.annotations.NaturalId; import org.hibernate.type.SqlTypes; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Map; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/sql/DefaultPostgreSQLJsonNodeBinaryTypeFetchTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/sql/DefaultPostgreSQLJsonNodeBinaryTypeFetchTest.java index ebc37117f..502c61250 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/sql/DefaultPostgreSQLJsonNodeBinaryTypeFetchTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/sql/DefaultPostgreSQLJsonNodeBinaryTypeFetchTest.java @@ -2,11 +2,11 @@ import com.vladmihalcea.hpjp.hibernate.type.json.PostgreSQLJsonNodeBinaryTypeTest; import io.hypersistence.utils.hibernate.type.json.internal.JacksonUtil; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Map; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/sql/NativeQueryScalarJsonNodeBinaryTypeFetchTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/sql/NativeQueryScalarJsonNodeBinaryTypeFetchTest.java index b1fa6b1b3..4e37f6625 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/sql/NativeQueryScalarJsonNodeBinaryTypeFetchTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/json/sql/NativeQueryScalarJsonNodeBinaryTypeFetchTest.java @@ -7,12 +7,12 @@ import org.hibernate.boot.spi.MetadataBuilderContributor; import org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl; import org.hibernate.jpa.boot.spi.TypeContributorList; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Collections; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/money/MonetaryAmountTypeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/money/MonetaryAmountTypeTest.java index 0d30dc8c5..50ab24a1e 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/money/MonetaryAmountTypeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/type/money/MonetaryAmountTypeTest.java @@ -6,7 +6,7 @@ import org.hibernate.annotations.Columns; import org.hibernate.annotations.CompositeType; import org.javamoney.moneta.Money; -import org.junit.Test; +import org.junit.jupiter.api.Test; import javax.money.MonetaryAmount; import jakarta.persistence.*; @@ -14,7 +14,7 @@ import java.util.ArrayList; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/view/SubselectTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/view/SubselectTest.java index 3dc846d31..07edf4903 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/view/SubselectTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/view/SubselectTest.java @@ -5,12 +5,12 @@ import jakarta.persistence.Id; import org.hibernate.annotations.Immutable; import org.hibernate.annotations.Subselect; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.List; import static com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider.*; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/view/ViewTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/view/ViewTest.java index c4688a305..d139a6070 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/view/ViewTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/view/ViewTest.java @@ -5,13 +5,13 @@ import jakarta.persistence.Id; import jakarta.persistence.Table; import org.hibernate.annotations.Immutable; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.List; import java.util.Properties; import static com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider.*; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/AbstractBatchPreparedStatementTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/AbstractBatchPreparedStatementTest.java index 412270057..d6b2b9554 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/AbstractBatchPreparedStatementTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/AbstractBatchPreparedStatementTest.java @@ -1,9 +1,8 @@ package com.vladmihalcea.hpjp.jdbc.batch; import com.vladmihalcea.hpjp.util.DatabaseProviderIntegrationTest; -import com.vladmihalcea.hpjp.util.providers.Database; import com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.Connection; import java.sql.PreparedStatement; @@ -21,10 +20,6 @@ public abstract class AbstractBatchPreparedStatementTest extends DatabaseProvide private BlogEntityProvider entityProvider = new BlogEntityProvider(); - public AbstractBatchPreparedStatementTest(Database database) { - super(database); - } - @Override protected Class[] entities() { return entityProvider.entities(); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/AbstractBatchStatementTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/AbstractBatchStatementTest.java index c821c1a4e..6ac8b6ac5 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/AbstractBatchStatementTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/AbstractBatchStatementTest.java @@ -1,16 +1,15 @@ package com.vladmihalcea.hpjp.jdbc.batch; import com.vladmihalcea.hpjp.util.DatabaseProviderIntegrationTest; -import com.vladmihalcea.hpjp.util.providers.Database; import com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.SQLException; import java.sql.Statement; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.fail; /** * AbstractBatchStatementTest - Base class for testing JDBC Statement batching @@ -25,10 +24,6 @@ public abstract class AbstractBatchStatementTest extends DatabaseProviderIntegra private final BlogEntityProvider entityProvider = new BlogEntityProvider(); - public AbstractBatchStatementTest(Database database) { - super(database); - } - @Override protected Class[] entities() { return entityProvider.entities(); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/BatchPreparedStatementTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/BatchPreparedStatementTest.java index ca14e2e0c..513e08678 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/BatchPreparedStatementTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/BatchPreparedStatementTest.java @@ -1,7 +1,5 @@ package com.vladmihalcea.hpjp.jdbc.batch; -import com.vladmihalcea.hpjp.util.providers.Database; - import java.sql.PreparedStatement; import java.sql.SQLException; @@ -12,10 +10,6 @@ */ public class BatchPreparedStatementTest extends AbstractBatchPreparedStatementTest { - public BatchPreparedStatementTest(Database database) { - super(database); - } - @Override protected void onStatement(PreparedStatement statement) throws SQLException { statement.addBatch(); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/BatchStatementTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/BatchStatementTest.java index 70c9d98bb..c414f4503 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/BatchStatementTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/BatchStatementTest.java @@ -1,7 +1,5 @@ package com.vladmihalcea.hpjp.jdbc.batch; -import com.vladmihalcea.hpjp.util.providers.Database; - import java.sql.SQLException; import java.sql.Statement; @@ -12,10 +10,6 @@ */ public class BatchStatementTest extends AbstractBatchStatementTest { - public BatchStatementTest(Database database) { - super(database); - } - @Override protected void onStatement(Statement statement, String dml) throws SQLException { statement.addBatch(dml); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/MySQLBatchPreparedStatementTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/MySQLBatchPreparedStatementTest.java index ecf545ff0..773017b31 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/MySQLBatchPreparedStatementTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/MySQLBatchPreparedStatementTest.java @@ -4,47 +4,43 @@ import com.vladmihalcea.hpjp.util.providers.DataSourceProvider; import com.vladmihalcea.hpjp.util.providers.MySQLDataSourceProvider; import com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.Parameter; +import org.junit.jupiter.params.ParameterizedClass; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; import java.sql.PreparedStatement; import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.Stream; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.fail; /** * MySqlBatchStatementTest - Test MySQl JDBC Statement batching with and w/o rewriteBatchedStatements * * @author Vlad Mihalcea */ -@RunWith(Parameterized.class) +@ParameterizedClass +@MethodSource("parameters") public class MySQLBatchPreparedStatementTest extends AbstractMySQLIntegrationTest { private final BlogEntityProvider entityProvider = new BlogEntityProvider(); + @Parameter(0) private boolean cachePrepStmts; - + @Parameter(1) private boolean useServerPrepStmts; - public MySQLBatchPreparedStatementTest(boolean cachePrepStmts, boolean useServerPrepStmts) { - this.cachePrepStmts = cachePrepStmts; - this.useServerPrepStmts = useServerPrepStmts; - } - - @Parameterized.Parameters - public static Collection rdbmsDataSourceProvider() { - List providers = new ArrayList<>(); - providers.add(new Boolean[]{Boolean.FALSE, Boolean.FALSE}); - providers.add(new Boolean[]{Boolean.FALSE, Boolean.TRUE}); - providers.add(new Boolean[]{Boolean.TRUE, Boolean.FALSE}); - providers.add(new Boolean[]{Boolean.TRUE, Boolean.TRUE}); - return providers; + public static Stream parameters() { + return Stream.of( + Arguments.of(Boolean.FALSE, Boolean.FALSE), + Arguments.of(Boolean.FALSE, Boolean.TRUE), + Arguments.of(Boolean.TRUE, Boolean.FALSE), + Arguments.of(Boolean.TRUE, Boolean.TRUE) + ); } @Override diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/MySQLBatchStatementTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/MySQLBatchStatementTest.java index 79383cb0d..725ad6b40 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/MySQLBatchStatementTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/MySQLBatchStatementTest.java @@ -4,26 +4,27 @@ import com.vladmihalcea.hpjp.util.providers.DataSourceProvider; import com.vladmihalcea.hpjp.util.providers.MySQLDataSourceProvider; import com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.Parameter; +import org.junit.jupiter.params.ParameterizedClass; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; import java.sql.SQLException; import java.sql.Statement; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.Stream; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.fail; /** * MySqlBatchStatementTest - Test MySQl JDBC Statement batching with and w/o rewriteBatchedStatements * * @author Vlad Mihalcea */ -@RunWith(Parameterized.class) +@ParameterizedClass +@MethodSource("parameters") public class MySQLBatchStatementTest extends AbstractMySQLIntegrationTest { public static final String INSERT_POST = "insert into post (title, version, id) values ('Post no. %1$d', 0, %1$d)"; @@ -32,18 +33,14 @@ public class MySQLBatchStatementTest extends AbstractMySQLIntegrationTest { private final BlogEntityProvider entityProvider = new BlogEntityProvider(); + @Parameter private boolean rewriteBatchedStatements; - public MySQLBatchStatementTest(boolean rewriteBatchedStatements) { - this.rewriteBatchedStatements = rewriteBatchedStatements; - } - - @Parameterized.Parameters - public static Collection rdbmsDataSourceProvider() { - List providers = new ArrayList<>(); - providers.add(new Boolean[]{Boolean.FALSE}); - providers.add(new Boolean[]{Boolean.TRUE}); - return providers; + public static Stream parameters() { + return Stream.of( + Arguments.of(Boolean.FALSE), + Arguments.of(Boolean.TRUE) + ); } @Override diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/MySQLRewriteBatchPreparedStatementTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/MySQLRewriteBatchPreparedStatementTest.java index d41a8ce8f..db28aacad 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/MySQLRewriteBatchPreparedStatementTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/MySQLRewriteBatchPreparedStatementTest.java @@ -7,26 +7,27 @@ import com.vladmihalcea.hpjp.util.providers.DataSourceProvider; import com.vladmihalcea.hpjp.util.providers.MySQLDataSourceProvider; import com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.Parameter; +import org.junit.jupiter.params.ParameterizedClass; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; import java.sql.PreparedStatement; import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.Stream; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.fail; /** * MySqlRewriteBatchPreparedStatementTest - Test MySQl JDBC Statement batching with and w/o rewriteBatchedStatements * * @author Vlad Mihalcea */ -@RunWith(Parameterized.class) +@ParameterizedClass +@MethodSource("parameters") public class MySQLRewriteBatchPreparedStatementTest extends AbstractMySQLIntegrationTest { private final BlogEntityProvider entityProvider = new BlogEntityProvider(); @@ -40,18 +41,14 @@ public class MySQLRewriteBatchPreparedStatementTest extends AbstractMySQLIntegra private Timer timer = metricRegistry.timer("batchInsertTimer"); + @Parameter private boolean rewriteBatchedStatements; - public MySQLRewriteBatchPreparedStatementTest(boolean rewriteBatchedStatements) { - this.rewriteBatchedStatements = rewriteBatchedStatements; - } - - @Parameterized.Parameters - public static Collection rdbmsDataSourceProvider() { - List providers = new ArrayList<>(); - providers.add(new Boolean[]{Boolean.FALSE}); - providers.add(new Boolean[]{Boolean.TRUE}); - return providers; + public static Stream parameters() { + return Stream.of( + Arguments.of(Boolean.FALSE), + Arguments.of(Boolean.TRUE) + ); } @Override diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/NoBatchPreparedStatementTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/NoBatchPreparedStatementTest.java index a03a0b85d..e6bd4bf15 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/NoBatchPreparedStatementTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/NoBatchPreparedStatementTest.java @@ -1,7 +1,5 @@ package com.vladmihalcea.hpjp.jdbc.batch; -import com.vladmihalcea.hpjp.util.providers.Database; - import java.sql.PreparedStatement; import java.sql.SQLException; @@ -11,11 +9,7 @@ * @author Vlad Mihalcea */ public class NoBatchPreparedStatementTest extends AbstractBatchPreparedStatementTest { - - public NoBatchPreparedStatementTest(Database database) { - super(database); - } - + @Override protected void onStatement(PreparedStatement statement) throws SQLException { statement.executeUpdate(); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/NoBatchStatementTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/NoBatchStatementTest.java index 1e1a1ac7c..44fb9f295 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/NoBatchStatementTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/NoBatchStatementTest.java @@ -1,7 +1,5 @@ package com.vladmihalcea.hpjp.jdbc.batch; -import com.vladmihalcea.hpjp.util.providers.Database; - import java.sql.SQLException; import java.sql.Statement; @@ -14,10 +12,6 @@ public class NoBatchStatementTest extends AbstractBatchStatementTest { private int count; - public NoBatchStatementTest(Database database) { - super(database); - } - @Override protected void onStatement(Statement statement, String dml) throws SQLException { statement.executeUpdate(dml); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/OracleBatchStatementTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/OracleBatchStatementTest.java index b4032ed05..292eee59b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/OracleBatchStatementTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/OracleBatchStatementTest.java @@ -5,7 +5,7 @@ import com.vladmihalcea.hpjp.util.providers.DataSourceProvider; import com.vladmihalcea.hpjp.util.providers.OracleDataSourceProvider; import com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider; -import org.junit.Test; +import org.junit.jupiter.api.Test; import javax.sql.DataSource; import java.sql.SQLException; @@ -13,7 +13,7 @@ import java.util.Properties; import java.util.concurrent.TimeUnit; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.fail; /** * BatchStatementTest - Test batching with Statements diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/OracleDefaultExecuteBatchPreparedStatementTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/OracleDefaultExecuteBatchPreparedStatementTest.java index 61a02c1ff..5d231d3da 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/OracleDefaultExecuteBatchPreparedStatementTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/OracleDefaultExecuteBatchPreparedStatementTest.java @@ -5,47 +5,44 @@ import com.vladmihalcea.hpjp.util.providers.DataSourceProvider; import com.vladmihalcea.hpjp.util.providers.OracleDataSourceProvider; import com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.Parameter; +import org.junit.jupiter.params.ParameterizedClass; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; import javax.sql.DataSource; import java.sql.PreparedStatement; import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; import java.util.Properties; import java.util.concurrent.TimeUnit; +import java.util.stream.Stream; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.fail; /** * BatchStatementTest - Test batching with Statements * * @author Vlad Mihalcea */ -@RunWith(Parameterized.class) +@ParameterizedClass +@MethodSource("parameters") public class OracleDefaultExecuteBatchPreparedStatementTest extends AbstractOracleIntegrationTest { public static final String INSERT_POST = "insert into post (title, version, id) values (?, ?, ?)"; public static final String INSERT_POST_COMMENT = "insert into post_comment (post_id, review, version, id) values (?, ?, ?, ?)"; - private final int defaultExecuteBatch; - private BlogEntityProvider entityProvider = new BlogEntityProvider(); - public OracleDefaultExecuteBatchPreparedStatementTest(int defaultExecuteBatch) { - this.defaultExecuteBatch = defaultExecuteBatch; - } + @Parameter + private int defaultExecuteBatch; - @Parameterized.Parameters - public static Collection defaultExecuteBatches() { - List providers = new ArrayList<>(); - providers.add(new Integer[]{1}); - providers.add(new Integer[]{50}); - return providers; + public static Stream parameters() { + return Stream.of( + Arguments.of(1), + Arguments.of(50) + ); } @Override diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/PostgreSQLRewriteBatchInsertsTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/PostgreSQLRewriteBatchInsertsTest.java index 26c4a4e32..3b71b781f 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/PostgreSQLRewriteBatchInsertsTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/PostgreSQLRewriteBatchInsertsTest.java @@ -7,26 +7,27 @@ import com.vladmihalcea.hpjp.util.providers.DataSourceProvider; import com.vladmihalcea.hpjp.util.providers.PostgreSQLDataSourceProvider; import com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.Parameter; +import org.junit.jupiter.params.ParameterizedClass; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; import java.sql.PreparedStatement; import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.Stream; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.fail; /** * PostgreSQLRewriteBatchInsertsTest - Test PostgreSQL JDBC Statement batching with and w/o reWriteBatchedInserts * * @author Vlad Mihalcea */ -@RunWith(Parameterized.class) +@ParameterizedClass +@MethodSource("parameters") public class PostgreSQLRewriteBatchInsertsTest extends AbstractPostgreSQLIntegrationTest { private final BlogEntityProvider entityProvider = new BlogEntityProvider(); @@ -40,18 +41,14 @@ public class PostgreSQLRewriteBatchInsertsTest extends AbstractPostgreSQLIntegra private Timer timer = metricRegistry.timer("batchInsertTimer"); + @Parameter private boolean reWriteBatchedInserts; - public PostgreSQLRewriteBatchInsertsTest(boolean reWriteBatchedInserts) { - this.reWriteBatchedInserts = reWriteBatchedInserts; - } - - @Parameterized.Parameters - public static Collection rdbmsDataSourceProvider() { - List providers = new ArrayList<>(); - providers.add(new Boolean[]{Boolean.FALSE}); - providers.add(new Boolean[]{Boolean.TRUE}); - return providers; + public static Stream parameters() { + return Stream.of( + Arguments.of(Boolean.FALSE), + Arguments.of(Boolean.TRUE) + ); } @Override diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/SQLServerBulkCopyForBatchInsertPerformanceTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/SQLServerBulkCopyForBatchInsertPerformanceTest.java index 45eceaa23..b8c3cf15f 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/SQLServerBulkCopyForBatchInsertPerformanceTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/SQLServerBulkCopyForBatchInsertPerformanceTest.java @@ -7,24 +7,25 @@ import com.vladmihalcea.hpjp.util.providers.DataSourceProvider; import com.vladmihalcea.hpjp.util.providers.SQLServerDataSourceProvider; import com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.Parameter; +import org.junit.jupiter.params.ParameterizedClass; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; import java.sql.PreparedStatement; import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.Stream; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea */ -@RunWith(Parameterized.class) +@ParameterizedClass +@MethodSource("parameters") public class SQLServerBulkCopyForBatchInsertPerformanceTest extends AbstractSQLServerIntegrationTest { private final BlogEntityProvider entityProvider = new BlogEntityProvider(); @@ -38,18 +39,14 @@ public class SQLServerBulkCopyForBatchInsertPerformanceTest extends AbstractSQLS private Timer timer = metricRegistry.timer("batchInsertTimer"); + @Parameter private boolean useBulkCopyForBatchInsert; - public SQLServerBulkCopyForBatchInsertPerformanceTest(boolean useBulkCopyForBatchInsert) { - this.useBulkCopyForBatchInsert = useBulkCopyForBatchInsert; - } - - @Parameterized.Parameters - public static Collection rdbmsDataSourceProvider() { - List providers = new ArrayList<>(); - providers.add(new Boolean[]{Boolean.FALSE}); - providers.add(new Boolean[]{Boolean.TRUE}); - return providers; + public static Stream parameters() { + return Stream.of( + Arguments.of(Boolean.FALSE), + Arguments.of(Boolean.TRUE) + ); } @Override diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/SimpleBatchTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/SimpleBatchTest.java index 651c51152..e12580f29 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/SimpleBatchTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/SimpleBatchTest.java @@ -1,15 +1,14 @@ package com.vladmihalcea.hpjp.jdbc.batch; -import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; import com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.PreparedStatement; import java.sql.Statement; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/generatedkeys/identity/MySQLGeneratedKeysBatchPreparedStatementTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/generatedkeys/identity/MySQLGeneratedKeysBatchPreparedStatementTest.java index 1d87b96ef..4d2a88271 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/generatedkeys/identity/MySQLGeneratedKeysBatchPreparedStatementTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/generatedkeys/identity/MySQLGeneratedKeysBatchPreparedStatementTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.jdbc.batch.generatedkeys.identity; import com.vladmihalcea.hpjp.util.AbstractMySQLIntegrationTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.*; import java.util.concurrent.atomic.AtomicInteger; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/generatedkeys/identity/OracleGeneratedKeysBatchPreparedStatementTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/generatedkeys/identity/OracleGeneratedKeysBatchPreparedStatementTest.java index a94044824..c5df7af0c 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/generatedkeys/identity/OracleGeneratedKeysBatchPreparedStatementTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/generatedkeys/identity/OracleGeneratedKeysBatchPreparedStatementTest.java @@ -1,8 +1,8 @@ package com.vladmihalcea.hpjp.jdbc.batch.generatedkeys.identity; import com.vladmihalcea.hpjp.util.AbstractOracleIntegrationTest; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import java.sql.*; import java.util.concurrent.atomic.AtomicInteger; @@ -18,7 +18,7 @@ protected Class[] entities() { } @Test - @Ignore + @Disabled public void testBatch() throws SQLException { doInJDBC(this::batchInsert); } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/generatedkeys/identity/PostgreSQLGeneratedKeysBatchPreparedStatementTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/generatedkeys/identity/PostgreSQLGeneratedKeysBatchPreparedStatementTest.java index 9037636db..133942ce3 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/generatedkeys/identity/PostgreSQLGeneratedKeysBatchPreparedStatementTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/generatedkeys/identity/PostgreSQLGeneratedKeysBatchPreparedStatementTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.jdbc.batch.generatedkeys.identity; import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.*; import java.util.concurrent.atomic.AtomicInteger; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/generatedkeys/identity/SQLServerGeneratedKeysBatchPreparedStatementTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/generatedkeys/identity/SQLServerGeneratedKeysBatchPreparedStatementTest.java index ca4c8dd03..33ee9424e 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/generatedkeys/identity/SQLServerGeneratedKeysBatchPreparedStatementTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/generatedkeys/identity/SQLServerGeneratedKeysBatchPreparedStatementTest.java @@ -2,11 +2,16 @@ import com.vladmihalcea.hpjp.util.AbstractSQLServerIntegrationTest; import org.hibernate.exception.GenericJDBCException; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import java.sql.*; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; import java.util.concurrent.atomic.AtomicInteger; +import static org.junit.jupiter.api.Assertions.assertThrows; + /** * GeneratedKeysBatchPreparedStatementTest - Base class for testing JDBC PreparedStatement generated keys * @@ -19,9 +24,11 @@ protected Class[] entities() { return new Class[]{}; } - @Test(expected = GenericJDBCException.class) + @Test public void testBatch() { - doInJDBC(this::batchInsert); + assertThrows(GenericJDBCException.class, ()->{ + doInJDBC(this::batchInsert); + }); } protected int getPostCount() { @@ -35,20 +42,15 @@ protected int getBatchSize() { protected void batchInsert(Connection connection) throws SQLException { LOGGER.info("Identity generated keys for SQL Server"); - try (Statement statement = connection.createStatement()) { - statement.executeUpdate("drop table post"); - } catch (Exception ignore) { - } - - try (Statement statement = connection.createStatement()) { - statement.executeUpdate( - "create table post (" + - " id bigint identity not null, " + - " title varchar(255), " + - " version int not null, " + - " primary key (id))" - ); - } + executeStatement(connection, true, "drop table post"); + executeStatement(connection, true, """ + create table post ( + id bigint identity not null, + title varchar(255), + version int not null, + primary key (id) + ) + """); AtomicInteger postStatementCount = new AtomicInteger(); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/generatedkeys/sequence/AbstractSequenceCallTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/generatedkeys/sequence/AbstractSequenceCallTest.java index fcba55996..42ed7bd7c 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/generatedkeys/sequence/AbstractSequenceCallTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/generatedkeys/sequence/AbstractSequenceCallTest.java @@ -5,8 +5,8 @@ import com.codahale.metrics.Timer; import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.entity.SequenceBatchEntityProvider; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -46,7 +46,7 @@ protected Class[] entities() { } @Test - @Ignore + @Disabled public void testBatch() { doInJDBC(this::callSequence); } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/generatedkeys/sequence/AbstractSequenceGeneratedKeysBatchPreparedStatementTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/generatedkeys/sequence/AbstractSequenceGeneratedKeysBatchPreparedStatementTest.java index a1e4bade0..13e1c1faf 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/generatedkeys/sequence/AbstractSequenceGeneratedKeysBatchPreparedStatementTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/batch/generatedkeys/sequence/AbstractSequenceGeneratedKeysBatchPreparedStatementTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.entity.SequenceBatchEntityProvider; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.*; import java.util.concurrent.TimeUnit; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/MySQLStatementCacheTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/MySQLStatementCacheTest.java index d563d84a8..582a0593a 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/MySQLStatementCacheTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/MySQLStatementCacheTest.java @@ -4,29 +4,32 @@ import com.codahale.metrics.Slf4jReporter; import com.codahale.metrics.Timer; import com.vladmihalcea.hpjp.util.DatabaseProviderIntegrationTest; -import com.vladmihalcea.hpjp.util.providers.DataSourceProvider; -import com.vladmihalcea.hpjp.util.providers.Database; import com.vladmihalcea.hpjp.util.providers.MySQLDataSourceProvider; import com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider; import com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider.Post; import com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider.PostComment; import com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider.PostDetails; -import org.hibernate.annotations.QueryHints; -import org.junit.Ignore; -import org.junit.Test; -import org.junit.runners.Parameterized; - import jakarta.persistence.EntityManager; +import org.hibernate.jpa.HibernateHints; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedClass; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; + import java.sql.*; import java.util.Date; -import java.util.*; +import java.util.Properties; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; import java.util.function.Consumer; +import java.util.stream.Stream; /** * @author Vlad Mihalcea */ +@ParameterizedClass +@MethodSource("parameters") public class MySQLStatementCacheTest extends DatabaseProviderIntegrationTest { private BlogEntityProvider entityProvider = new BlogEntityProvider(); @@ -46,41 +49,23 @@ public class MySQLStatementCacheTest extends DatabaseProviderIntegrationTest { private Timer query2Timer = metricRegistry.timer("query2Timer"); - public MySQLStatementCacheTest(Database database) { - super(database); - } - - @Parameterized.Parameters - public static Collection rdbmsDataSourceProvider() { - List providers = new ArrayList<>(); - - providers.add(new DataSourceProvider[]{ - new MySQLDataSourceProvider() + public static Stream parameters() { + return Stream.of( + Arguments.of(new MySQLDataSourceProvider() .setUseServerPrepStmts(false) - .setCachePrepStmts(false) - }); - - providers.add(new DataSourceProvider[]{ - new MySQLDataSourceProvider() + .setCachePrepStmts(false)), + Arguments.of(new MySQLDataSourceProvider() .setUseServerPrepStmts(true) - .setCachePrepStmts(false) - }); - - providers.add(new DataSourceProvider[]{ - new MySQLDataSourceProvider() + .setCachePrepStmts(false)), + Arguments.of(new MySQLDataSourceProvider() .setUseServerPrepStmts(false) .setCachePrepStmts(true) - .setPrepStmtCacheSqlLimit(2048) - }); - - providers.add(new DataSourceProvider[]{ - new MySQLDataSourceProvider() + .setPrepStmtCacheSqlLimit(2048)), + Arguments.of(new MySQLDataSourceProvider() .setUseServerPrepStmts(true) .setCachePrepStmts(true) - .setPrepStmtCacheSqlLimit(2048) - }); - - return providers; + .setPrepStmtCacheSqlLimit(2048)) + ); } @Override @@ -153,7 +138,7 @@ public void afterInit() { } @Test - @Ignore + @Disabled public void testStatementCachingJPA() { long ttlMillis = System.currentTimeMillis() + getRunMillis(); AtomicInteger transactionCount = new AtomicInteger(); @@ -195,7 +180,7 @@ public void testStatementCachingJPA() { """) .setParameter("id", randomId()) .setMaxResults(5) - .setHint(QueryHints.FETCH_SIZE, Integer.MIN_VALUE) + .setHint(HibernateHints.HINT_FETCH_SIZE, Integer.MIN_VALUE) .getResultStream() .close() ); @@ -212,7 +197,7 @@ public void testStatementCachingJPA() { """) .setParameter("postId", randomId()) .setMaxResults(5) - .setHint(QueryHints.FETCH_SIZE, Integer.MIN_VALUE) + .setHint(HibernateHints.HINT_FETCH_SIZE, Integer.MIN_VALUE) .getResultStream() .close() ); @@ -242,7 +227,7 @@ private Long randomId() { } @Test - @Ignore + @Disabled public void testStatementCachingJDBC() { for (long i = 1; i <= getRunCount(); i++) { doInJDBC(connection -> { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/OracleExplicitStatementCacheTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/OracleExplicitStatementCacheTest.java index a8a60f7c0..6c8a89418 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/OracleExplicitStatementCacheTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/OracleExplicitStatementCacheTest.java @@ -4,13 +4,13 @@ import com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider; import oracle.jdbc.OracleConnection; import oracle.jdbc.OraclePreparedStatement; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import java.sql.PreparedStatement; import java.sql.SQLException; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.fail; /** * OracleImplicitStatementCacheTest - Test Oracle implicit Statement cache @@ -77,7 +77,7 @@ public void init() { } @Test - @Ignore + @Disabled public void testStatementCaching() { doInJDBC(connection -> { for (int i = 0; i < 5; i++) { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/OracleImplicitStatementCacheTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/OracleImplicitStatementCacheTest.java index 431f60388..b444ff50a 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/OracleImplicitStatementCacheTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/OracleImplicitStatementCacheTest.java @@ -2,12 +2,11 @@ import com.vladmihalcea.hpjp.util.AbstractOracleIntegrationTest; import com.vladmihalcea.hpjp.util.ReflectionUtils; -import com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider; import com.vladmihalcea.hpjp.util.providers.DataSourceProvider; import com.vladmihalcea.hpjp.util.providers.OracleDataSourceProvider; - -import org.junit.Ignore; -import org.junit.Test; +import com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import javax.sql.DataSource; import java.sql.PreparedStatement; @@ -15,7 +14,7 @@ import java.util.Properties; import java.util.concurrent.TimeUnit; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * OracleImplicitStatementCacheTest - Test Oracle implicit Statement cache @@ -94,13 +93,13 @@ public void init() { } @Test - @Ignore + @Disabled public void testStatementCaching() { selectWhenCaching(true); } @Test - @Ignore + @Disabled public void testStatementWithoutCaching() { selectWhenCaching(false); } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/OraclePreparedStatementLifecycleTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/OraclePreparedStatementLifecycleTest.java index 0b900c4c1..0bf2d1cbd 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/OraclePreparedStatementLifecycleTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/OraclePreparedStatementLifecycleTest.java @@ -1,18 +1,18 @@ package com.vladmihalcea.hpjp.jdbc.caching; import com.vladmihalcea.hpjp.util.AbstractOracleIntegrationTest; -import org.junit.Test; - import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; import jakarta.persistence.Tuple; +import org.junit.jupiter.api.Test; + import java.sql.PreparedStatement; import java.sql.SQLException; import java.util.List; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/PostgreSQLPlanCacheModeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/PostgreSQLPlanCacheModeTest.java index a1359532d..b3e3d661c 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/PostgreSQLPlanCacheModeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/PostgreSQLPlanCacheModeTest.java @@ -3,22 +3,23 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; import com.vladmihalcea.hpjp.util.providers.queries.PostgreSQLQueries; -import jakarta.persistence.*; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; import org.hibernate.annotations.JdbcType; -import org.hibernate.dialect.PostgreSQLEnumJdbcType; -import org.junit.Test; +import org.hibernate.dialect.type.PostgreSQLEnumJdbcType; +import org.junit.jupiter.api.Test; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Types; -import java.util.ArrayList; -import java.util.List; import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/PostgreSQLPreparedStatementCompilingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/PostgreSQLPreparedStatementCompilingTest.java index afbd386b9..44eeba7a8 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/PostgreSQLPreparedStatementCompilingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/PostgreSQLPreparedStatementCompilingTest.java @@ -6,7 +6,7 @@ import jakarta.persistence.Enumerated; import jakarta.persistence.Id; import jakarta.persistence.Table; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.PreparedStatement; import java.sql.ResultSet; @@ -18,7 +18,7 @@ import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/PostgreSQLStatementCachePoolingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/PostgreSQLStatementCachePoolingTest.java index e8c719801..a52ec1d10 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/PostgreSQLStatementCachePoolingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/PostgreSQLStatementCachePoolingTest.java @@ -6,7 +6,7 @@ import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.postgresql.core.CachedQuery; import org.postgresql.jdbc.PgStatement; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/PostgreSQLStatementCacheTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/PostgreSQLStatementCacheTest.java index 4db2c7cc7..e53d25560 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/PostgreSQLStatementCacheTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/PostgreSQLStatementCacheTest.java @@ -2,13 +2,13 @@ import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; import com.vladmihalcea.hpjp.util.providers.entity.TaskEntityProvider; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.PreparedStatement; import java.sql.SQLException; import java.util.Properties; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/SQLServerImplicitStatementCacheTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/SQLServerImplicitStatementCacheTest.java index 4bcd52e55..38b43a4d5 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/SQLServerImplicitStatementCacheTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/SQLServerImplicitStatementCacheTest.java @@ -2,13 +2,13 @@ import com.vladmihalcea.hpjp.util.AbstractSQLServerIntegrationTest; import com.vladmihalcea.hpjp.util.providers.entity.TaskEntityProvider; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import java.sql.PreparedStatement; import java.sql.SQLException; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.fail; /** * SQLServerImplicitStatementCacheTest - Test SQL Server implicit Statement cache @@ -58,7 +58,7 @@ public void init() { } @Test - @Ignore + @Disabled public void testStatementCaching() { doInJDBC(connection -> { try (PreparedStatement statement = connection.prepareStatement( diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/SQLServerPreparedStatementLifecycleTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/SQLServerPreparedStatementLifecycleTest.java index 2176c5d23..126b26dab 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/SQLServerPreparedStatementLifecycleTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/SQLServerPreparedStatementLifecycleTest.java @@ -1,18 +1,16 @@ package com.vladmihalcea.hpjp.jdbc.caching; import com.vladmihalcea.hpjp.util.AbstractSQLServerIntegrationTest; -import org.junit.Test; - import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; +import org.junit.jupiter.api.Test; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/StatementCachePoolableTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/StatementCachePoolableTest.java index 1343d1eda..c6e9895bf 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/StatementCachePoolableTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/StatementCachePoolableTest.java @@ -1,31 +1,34 @@ package com.vladmihalcea.hpjp.jdbc.caching; import com.microsoft.sqlserver.jdbc.SQLServerDataSource; -import com.vladmihalcea.hpjp.util.DataSourceProviderIntegrationTest; +import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.ReflectionUtils; import com.vladmihalcea.hpjp.util.providers.*; import com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider; -import org.junit.Test; -import org.junit.runners.Parameterized; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.Parameter; +import org.junit.jupiter.params.ParameterizedClass; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; import org.postgresql.ds.PGSimpleDataSource; import javax.sql.DataSource; import java.sql.PreparedStatement; import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; import java.util.Properties; import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.Stream; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.fail; /** * StatementCacheTest - Test Statement cache * * @author Vlad Mihalcea */ -public class StatementCachePoolableTest extends DataSourceProviderIntegrationTest { +@ParameterizedClass +@MethodSource("parameters") +public class StatementCachePoolableTest extends AbstractTest { public static class CachingOracleDataSourceProvider extends OracleDataSourceProvider { private final int cacheSize; @@ -109,29 +112,30 @@ public String toString() { private BlogEntityProvider entityProvider = new BlogEntityProvider(); - public StatementCachePoolableTest(DataSourceProvider dataSourceProvider) { - super(dataSourceProvider); - } + @Parameter + private DataSourceProvider dataSourceProvider; - @Parameterized.Parameters - public static Collection rdbmsDataSourceProvider() { - List providers = new ArrayList<>(); - providers.add(new DataSourceProvider[]{ - new CachingOracleDataSourceProvider(1) - }); - providers.add(new DataSourceProvider[]{ - new CachingSQLServerDataSourceProvider(1) - }); - providers.add(new DataSourceProvider[]{ - new CachingPostgreSQLDataSourceProvider(1) - }); + public static Stream parameters() { MySQLDataSourceProvider mySQLCachingDataSourceProvider = new MySQLDataSourceProvider(); mySQLCachingDataSourceProvider.setUseServerPrepStmts(true); mySQLCachingDataSourceProvider.setCachePrepStmts(true); - providers.add(new DataSourceProvider[]{ - mySQLCachingDataSourceProvider - }); - return providers; + + return Stream.of( + Arguments.of(new CachingOracleDataSourceProvider(1)), + Arguments.of(new CachingSQLServerDataSourceProvider(1)), + Arguments.of(new CachingPostgreSQLDataSourceProvider(1)), + Arguments.of(mySQLCachingDataSourceProvider) + ); + } + + @Override + protected DataSourceProvider dataSourceProvider() { + return dataSourceProvider; + } + + @Override + protected Database database() { + return dataSourceProvider.database(); } @Override @@ -140,8 +144,7 @@ protected Class[] entities() { } @Override - public void init() { - super.init(); + public void afterInit() { doInJDBC(connection -> { try ( PreparedStatement postStatement = connection.prepareStatement(INSERT_POST); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/StatementCacheTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/StatementCacheTest.java index 39110047a..353f7397e 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/StatementCacheTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/caching/StatementCacheTest.java @@ -4,34 +4,37 @@ import com.codahale.metrics.Slf4jReporter; import com.codahale.metrics.Timer; import com.microsoft.sqlserver.jdbc.SQLServerDataSource; -import com.vladmihalcea.hpjp.util.DatabaseProviderIntegrationTest; +import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.*; import com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider; import oracle.jdbc.pool.OracleDataSource; -import org.junit.Ignore; -import org.junit.Test; -import org.junit.runners.Parameterized; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.Parameter; +import org.junit.jupiter.params.ParameterizedClass; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; import org.postgresql.ds.PGSimpleDataSource; import javax.sql.DataSource; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; import java.util.Properties; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicLong; +import java.util.stream.Stream; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea */ -public class StatementCacheTest extends DatabaseProviderIntegrationTest { +@ParameterizedClass +@MethodSource("parameters") +public class StatementCacheTest extends AbstractTest { public static class CachingOracleDataSourceProvider extends OracleDataSourceProvider { private final int cacheSize; @@ -126,61 +129,28 @@ public String toString() { private Timer queryTimer = metricRegistry.timer("queryTimer"); - public StatementCacheTest(Database database) { - super(database); - } - - @Parameterized.Parameters - public static Collection rdbmsDataSourceProvider() { - List providers = new ArrayList<>(); - /*providers.add(new DataSourceProvider[]{ - new CachingOracleDataSourceProvider(1) - }); - providers.add(new DataSourceProvider[]{ - new CachingOracleDataSourceProvider(0) - }); - providers.add(new DataSourceProvider[]{ - new CachingSQLServerDataSourceProvider(1) - }); - providers.add(new DataSourceProvider[]{ - new CachingSQLServerDataSourceProvider(0) - }); - providers.add(new DataSourceProvider[]{ - new CachingPostgreSQLDataSourceProvider(1) - }); - providers.add(new DataSourceProvider[]{ - new CachingPostgreSQLDataSourceProvider(0) - });*/ - - providers.add(new DataSourceProvider[]{ - new MySQLDataSourceProvider() + public static Stream parameters() { + return Stream.of( + Arguments.of(new MySQLDataSourceProvider() .setUseServerPrepStmts(false) - .setCachePrepStmts(false) - }); - - providers.add(new DataSourceProvider[]{ - new MySQLDataSourceProvider() + .setCachePrepStmts(false)), + Arguments.of(new MySQLDataSourceProvider() .setUseServerPrepStmts(true) - .setCachePrepStmts(false) - }); - - providers.add(new DataSourceProvider[]{ - new MySQLDataSourceProvider() + .setCachePrepStmts(false)), + Arguments.of(new MySQLDataSourceProvider() .setUseServerPrepStmts(false) .setCachePrepStmts(true) - .setPrepStmtCacheSqlLimit(2048) - }); - - providers.add(new DataSourceProvider[]{ - new MySQLDataSourceProvider() + .setPrepStmtCacheSqlLimit(2048)), + Arguments.of(new MySQLDataSourceProvider() .setUseServerPrepStmts(true) .setCachePrepStmts(true) - .setPrepStmtCacheSqlLimit(2048) - }); - - return providers; + .setPrepStmtCacheSqlLimit(2048)) + ); } + @Parameter + private DataSourceProvider dataSourceProvider; + @Override protected Class[] entities() { return entityProvider.entities(); @@ -191,6 +161,11 @@ protected boolean connectionPooling() { return true; } + @Override + protected DataSourceProvider dataSourceProvider() { + return dataSourceProvider; + } + @Override public void afterInit() { doInJDBC(connection -> { @@ -228,7 +203,7 @@ public void afterInit() { } @Test - @Ignore + @Disabled public void testMySQLStatementCaching() { if(dataSourceProvider().database() != Database.MYSQL) { return; @@ -268,7 +243,7 @@ WHERE EXISTS ( } @Test - @Ignore + @Disabled public void testPostgreSQLStatementCaching() { if(dataSourceProvider().database() != Database.POSTGRESQL) { return; @@ -310,7 +285,7 @@ WHERE EXISTS ( } @Test - @Ignore + @Disabled public void testStatementCaching2() { long ttlMillis = System.currentTimeMillis() + getRunNanos(); AtomicLong counterHolder = new AtomicLong(); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/connection/ConnectionPoolCallTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/connection/ConnectionPoolCallTest.java index dd33ff31e..7a7667fc6 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/connection/ConnectionPoolCallTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/connection/ConnectionPoolCallTest.java @@ -4,11 +4,10 @@ import com.codahale.metrics.Slf4jReporter; import com.codahale.metrics.Timer; import com.vladmihalcea.hpjp.util.DatabaseProviderIntegrationTest; -import com.vladmihalcea.hpjp.util.providers.Database; import com.zaxxer.hikari.HikariConfig; import com.zaxxer.hikari.HikariDataSource; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -20,7 +19,7 @@ /** * @author Vlad Mihalcea */ -@Ignore +@Disabled public class ConnectionPoolCallTest extends DatabaseProviderIntegrationTest { private final Logger LOGGER = LoggerFactory.getLogger(getClass()); @@ -37,10 +36,6 @@ public class ConnectionPoolCallTest extends DatabaseProviderIntegrationTest { private int warmingUpCount = 100; private int connectionAcquisitionCount = 1000; - public ConnectionPoolCallTest(Database database) { - super(database); - } - @Override protected Class[] entities() { return new Class[]{}; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/connection/ConnectionPoolThreadsTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/connection/ConnectionPoolThreadsTest.java index a1b5770ba..47090e46e 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/connection/ConnectionPoolThreadsTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/connection/ConnectionPoolThreadsTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.Database; import com.zaxxer.hikari.HikariConfig; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -11,7 +11,7 @@ import java.sql.Connection; import java.sql.SQLException; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/connection/FlexyPoolAutoSizingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/connection/FlexyPoolAutoSizingTest.java index 9da69f182..fee84a4b3 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/connection/FlexyPoolAutoSizingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/connection/FlexyPoolAutoSizingTest.java @@ -10,7 +10,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.zaxxer.hikari.HikariConfig; import com.zaxxer.hikari.HikariDataSource; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/connection/OracleConnectionCallTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/connection/OracleConnectionCallTest.java index b492cffe0..393da6e47 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/connection/OracleConnectionCallTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/connection/OracleConnectionCallTest.java @@ -1,8 +1,8 @@ package com.vladmihalcea.hpjp.jdbc.connection; import com.vladmihalcea.hpjp.util.AbstractOracleIntegrationTest; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -25,7 +25,7 @@ protected Class[] entities() { } @Test - @Ignore + @Disabled public void testConnections() throws SQLException { LOGGER.info("Test without pooling for {}", dataSourceProvider().database()); simulateLowLatencyTransactions(dataSourceProvider().dataSource(), 10); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/fetching/JDBCVsJPATest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/fetching/JDBCVsJPATest.java index 01df02a85..1ac1e0799 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/fetching/JDBCVsJPATest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/fetching/JDBCVsJPATest.java @@ -5,7 +5,7 @@ import com.vladmihalcea.hpjp.hibernate.forum.PostDetails; import com.vladmihalcea.hpjp.hibernate.forum.Tag; import com.vladmihalcea.hpjp.util.AbstractTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.PreparedStatement; import java.sql.ResultSet; @@ -13,8 +13,8 @@ import java.util.ArrayList; import java.util.List; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/fetching/OracleResultSetLimitTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/fetching/OracleResultSetLimitTest.java index dd08c6fe4..f7f5eb5b9 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/fetching/OracleResultSetLimitTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/fetching/OracleResultSetLimitTest.java @@ -1,29 +1,30 @@ package com.vladmihalcea.hpjp.jdbc.fetching; -import com.vladmihalcea.hpjp.util.DatabaseProviderIntegrationTest; +import com.vladmihalcea.hpjp.util.DatabaseIntegrationTest; import com.vladmihalcea.hpjp.util.providers.Database; import com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider; -import org.assertj.core.util.Arrays; -import org.junit.Test; -import org.junit.runners.Parameterized; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedClass; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; import java.util.concurrent.TimeUnit; +import java.util.stream.Stream; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; /** * OracleResultSetLimitTest - Test limiting result set vs fetching and discarding rows * * @author Vlad Mihalcea */ -public class OracleResultSetLimitTest extends DatabaseProviderIntegrationTest { +@ParameterizedClass +@MethodSource("parameters") +public class OracleResultSetLimitTest extends DatabaseIntegrationTest { public static final String INSERT_POST = "insert into post (title, version, id) values (?, ?, ?)"; public static final String SELECT_POST = @@ -32,15 +33,10 @@ public class OracleResultSetLimitTest extends DatabaseProviderIntegrationTest { private BlogEntityProvider entityProvider = new BlogEntityProvider(); - public OracleResultSetLimitTest(Database database) { - super(database); - } - - @Parameterized.Parameters - public static Collection databases() { - List databases = new ArrayList<>(); - databases.add(Arrays.array(Database.ORACLE)); - return databases; + public static Stream parameters() { + return Stream.of( + Arguments.of(Database.ORACLE) + ); } @Override @@ -49,8 +45,7 @@ protected Class[] entities() { } @Override - public void init() { - super.init(); + public void afterInit() { doInJDBC(connection -> { try ( PreparedStatement postStatement = connection.prepareStatement(INSERT_POST); @@ -117,7 +112,6 @@ protected int getMaxRows() { return 5; } - @Override protected boolean proxyDataSource() { return false; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/fetching/ResultSetCursorTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/fetching/ResultSetCursorTest.java index 4839df8b7..6120d4382 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/fetching/ResultSetCursorTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/fetching/ResultSetCursorTest.java @@ -4,10 +4,8 @@ import com.codahale.metrics.Slf4jReporter; import com.codahale.metrics.Timer; import com.vladmihalcea.hpjp.util.DatabaseProviderIntegrationTest; -import com.vladmihalcea.hpjp.util.providers.Database; import com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider; - -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.PreparedStatement; import java.sql.ResultSet; @@ -15,7 +13,7 @@ import java.sql.Timestamp; import java.util.concurrent.TimeUnit; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.fail; /** * ResultSetCursorTest - Test result set cursor @@ -47,18 +45,13 @@ public class ResultSetCursorTest extends DatabaseProviderIntegrationTest { private BlogEntityProvider entityProvider = new BlogEntityProvider(); - public ResultSetCursorTest(Database database) { - super(database); - } - @Override protected Class[] entities() { return entityProvider.entities(); } @Override - public void init() { - super.init(); + public void afterInit() { doInJDBC(connection -> { LOGGER.info("{} supports TYPE_FORWARD_ONLY {}, CONCUR_READ_ONLY {}", dataSourceProvider().database(), diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/fetching/ResultSetFetchSizeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/fetching/ResultSetFetchSizeTest.java index ddf657e35..5d9ca1e64 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/fetching/ResultSetFetchSizeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/fetching/ResultSetFetchSizeTest.java @@ -1,50 +1,52 @@ package com.vladmihalcea.hpjp.jdbc.fetching; -import com.vladmihalcea.hpjp.util.DatabaseProviderIntegrationTest; -import com.vladmihalcea.hpjp.util.providers.*; +import com.vladmihalcea.hpjp.util.AbstractTest; +import com.vladmihalcea.hpjp.util.providers.Database; import com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider; - -import org.junit.Test; -import org.junit.runners.Parameterized; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.Parameter; +import org.junit.jupiter.params.ParameterizedClass; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; -import java.util.Collection; import java.util.List; import java.util.concurrent.TimeUnit; +import java.util.stream.Stream; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.fail; /** * ResultSetFetchSizeTest - Test result set fetch size * * @author Vlad Mihalcea */ -public class ResultSetFetchSizeTest extends DatabaseProviderIntegrationTest { +@ParameterizedClass +@MethodSource("parameters") +public class ResultSetFetchSizeTest extends AbstractTest { public static final String INSERT_POST = "insert into post (title, version, id) values (?, ?, ?)"; private BlogEntityProvider entityProvider = new BlogEntityProvider(); - private final Integer fetchSize; + @Parameter(0) + private Database database; - public ResultSetFetchSizeTest(Database database, Integer fetchSize) { - super(database); - this.fetchSize = fetchSize; - } + @Parameter(1) + private Integer fetchSize; - @Parameterized.Parameters - public static Collection parameters() { - List providers = new ArrayList<>(); + public static Stream parameters() { + List arguments = new ArrayList<>(); for (int i = 0; i < databases.length; i++) { for (int j = 0; j < fetchSizes.length; j++) { Integer fetchSize = fetchSizes[j]; - providers.add(new Object[] {databases[i], fetchSize}); + arguments.add(Arguments.of(databases[i], fetchSize)); } } - return providers; + return arguments.stream(); } private static Integer[] fetchSizes = new Integer[] { @@ -65,8 +67,7 @@ protected Class[] entities() { } @Override - public void init() { - super.init(); + public void afterInit() { doInJDBC(connection -> { try ( PreparedStatement postStatement = connection.prepareStatement(INSERT_POST); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/fetching/ResultSetLimitTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/fetching/ResultSetLimitTest.java index 4e12bc9c9..2b0f17411 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/fetching/ResultSetLimitTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/fetching/ResultSetLimitTest.java @@ -11,15 +11,15 @@ import com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider; import org.hibernate.dialect.pagination.LimitHandler; import org.hibernate.query.spi.Limit; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.concurrent.TimeUnit; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; /** * ResultSetLimitTest - Test limiting result set vs fetching and discarding rows @@ -52,10 +52,6 @@ public class ResultSetLimitTest extends DatabaseProviderIntegrationTest { private Timer limitTimer = metricRegistry.timer("limitTimer"); private Timer maxSizeTimer = metricRegistry.timer("maxSizeTimer"); - public ResultSetLimitTest(Database database) { - super(database); - } - @Override protected Class[] entities() { return entityProvider.entities(); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/fetching/ResultSetProjectionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/fetching/ResultSetProjectionTest.java index cbd325c0f..b66f10a12 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/fetching/ResultSetProjectionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/fetching/ResultSetProjectionTest.java @@ -6,8 +6,7 @@ import com.vladmihalcea.hpjp.util.DatabaseProviderIntegrationTest; import com.vladmihalcea.hpjp.util.providers.Database; import com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider; - -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.PreparedStatement; import java.sql.ResultSet; @@ -15,7 +14,7 @@ import java.sql.Timestamp; import java.util.concurrent.TimeUnit; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.fail; /** * ResultSetColumnSizeTest - Test result set column size @@ -65,10 +64,6 @@ INSERT INTO post_details (id, created_on, version) private BlogEntityProvider entityProvider = new BlogEntityProvider(); - public ResultSetProjectionTest(Database database) { - super(database); - } - @Override protected Class[] entities() { return entityProvider.entities(); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/fetching/ResultSetScollabilityTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/fetching/ResultSetScollabilityTest.java index a994beb8a..c7e1c0682 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/fetching/ResultSetScollabilityTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/fetching/ResultSetScollabilityTest.java @@ -4,17 +4,15 @@ import com.codahale.metrics.Slf4jReporter; import com.codahale.metrics.Timer; import com.vladmihalcea.hpjp.util.DatabaseProviderIntegrationTest; -import com.vladmihalcea.hpjp.util.providers.Database; import com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider; - -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.concurrent.TimeUnit; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.fail; /** * ResultSetScollabilityTest - Test result set scrollability @@ -36,18 +34,13 @@ public class ResultSetScollabilityTest extends DatabaseProviderIntegrationTest { private BlogEntityProvider entityProvider = new BlogEntityProvider(); - public ResultSetScollabilityTest(Database database) { - super(database); - } - @Override protected Class[] entities() { return entityProvider.entities(); } @Override - public void init() { - super.init(); + public void afterInit() { doInJDBC(connection -> { LOGGER.info("{} supports TYPE_FORWARD_ONLY {}", dataSourceProvider().database(), connection.getMetaData().supportsResultSetType(ResultSet.TYPE_FORWARD_ONLY)); LOGGER.info("{} supports TYPE_SCROLL_INSENSITIVE {}", dataSourceProvider().database(), connection.getMetaData().supportsResultSetType(ResultSet.TYPE_SCROLL_INSENSITIVE)); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/fetching/SQLServerResultSetLimitTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/fetching/SQLServerResultSetLimitTest.java index 8a9a04ca1..4e584fa10 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/fetching/SQLServerResultSetLimitTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/fetching/SQLServerResultSetLimitTest.java @@ -1,29 +1,26 @@ package com.vladmihalcea.hpjp.jdbc.fetching; -import com.vladmihalcea.hpjp.util.DatabaseProviderIntegrationTest; +import com.vladmihalcea.hpjp.util.DatabaseIntegrationTest; import com.vladmihalcea.hpjp.util.providers.Database; import com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider; -import org.assertj.core.util.Arrays; -import org.junit.Test; -import org.junit.runners.Parameterized; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.provider.Arguments; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; import java.util.concurrent.TimeUnit; +import java.util.stream.Stream; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; /** * SQLServerResultSetLimitTest - Test limiting result set vs fetching and discarding rows * * @author Vlad Mihalcea */ -public class SQLServerResultSetLimitTest extends DatabaseProviderIntegrationTest { +public class SQLServerResultSetLimitTest extends DatabaseIntegrationTest { public static final String INSERT_POST = "insert into post (title, version, id) values (?, ?, ?)"; public static final String INSERT_POST_COMMENT = "insert into post_comment (post_id, review, version, id) values (?, ?, ?, ?)"; @@ -39,15 +36,10 @@ public class SQLServerResultSetLimitTest extends DatabaseProviderIntegrationTest private BlogEntityProvider entityProvider = new BlogEntityProvider(); - public SQLServerResultSetLimitTest(Database database) { - super(database); - } - - @Parameterized.Parameters - public static Collection databases() { - List databases = new ArrayList<>(); - databases.add(Arrays.array(Database.SQLSERVER)); - return databases; + public static Stream parameters() { + return Stream.of( + Arguments.of(Database.SQLSERVER) + ); } @Override @@ -56,8 +48,7 @@ protected Class[] entities() { } @Override - public void init() { - super.init(); + public void afterInit() { doInJDBC(connection -> { try ( PreparedStatement postStatement = connection.prepareStatement(INSERT_POST); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/fetching/SQLStandardResultSetLimitTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/fetching/SQLStandardResultSetLimitTest.java index f7563240d..868ba6f04 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/fetching/SQLStandardResultSetLimitTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/fetching/SQLStandardResultSetLimitTest.java @@ -1,29 +1,30 @@ package com.vladmihalcea.hpjp.jdbc.fetching; -import com.vladmihalcea.hpjp.util.DatabaseProviderIntegrationTest; +import com.vladmihalcea.hpjp.util.DatabaseIntegrationTest; import com.vladmihalcea.hpjp.util.providers.Database; import com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider; -import org.assertj.core.util.Arrays; -import org.junit.Test; -import org.junit.runners.Parameterized; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedClass; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; import java.util.concurrent.TimeUnit; +import java.util.stream.Stream; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; /** * SQLStandardResultSetLimitTest - Test limiting result set vs fetching and discarding rows * * @author Vlad Mihalcea */ -public class SQLStandardResultSetLimitTest extends DatabaseProviderIntegrationTest { +@ParameterizedClass +@MethodSource("parameters") +public class SQLStandardResultSetLimitTest extends DatabaseIntegrationTest { public static final String INSERT_POST = "insert into post (title, version, id) values (?, ?, ?)"; public static final String INSERT_POST_COMMENT = "insert into post_comment (post_id, review, version, id) values (?, ?, ?, ?)"; @@ -38,24 +39,19 @@ public class SQLStandardResultSetLimitTest extends DatabaseProviderIntegrationTe public static final String SELECT_POST_COMMENT_WITH_NO_FIX = "SELECT pc.id AS pc_id, p.id AS p_id " + - "FROM post_comment pc " + - "INNER JOIN post p ON p.id = pc.post_id " + - "ORDER BY pc_id, p_id " + - "OFFSET ? ROWS " + - "FETCH FIRST ? ROWS ONLY "; + "FROM post_comment pc " + + "INNER JOIN post p ON p.id = pc.post_id " + + "ORDER BY pc_id, p_id " + + "OFFSET ? ROWS " + + "FETCH FIRST ? ROWS ONLY "; private BlogEntityProvider entityProvider = new BlogEntityProvider(); - public SQLStandardResultSetLimitTest(Database database) { - super(database); - } - - @Parameterized.Parameters - public static Collection databases() { - List databases = new ArrayList<>(); - databases.add(Arrays.array(Database.SQLSERVER)); - databases.add(Arrays.array(Database.POSTGRESQL)); - return databases; + public static Stream parameters() { + return Stream.of( + Arguments.of(Database.SQLSERVER), + Arguments.of(Database.POSTGRESQL) + ); } @Override @@ -64,8 +60,7 @@ protected Class[] entities() { } @Override - public void init() { - super.init(); + public void afterInit() { doInJDBC(connection -> { try ( PreparedStatement postStatement = connection.prepareStatement(INSERT_POST); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/index/MySQLIndexSelectivityTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/index/MySQLIndexSelectivityTest.java index ce338c4e9..e34745698 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/index/MySQLIndexSelectivityTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/index/MySQLIndexSelectivityTest.java @@ -2,10 +2,9 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.providers.DataSourceProvider; -import com.vladmihalcea.hpjp.util.providers.Database; import com.vladmihalcea.hpjp.util.providers.MySQLDataSourceProvider; import jakarta.persistence.*; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.Connection; import java.sql.PreparedStatement; @@ -18,7 +17,7 @@ import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.fail; /** * PostgresIndexSelectivityTest - Test PostgreSQL index selectivity diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/index/PostgreSQLIndexSelectivityTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/index/PostgreSQLIndexSelectivityTest.java index c53793bc0..d40531eee 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/index/PostgreSQLIndexSelectivityTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/index/PostgreSQLIndexSelectivityTest.java @@ -5,9 +5,8 @@ import com.vladmihalcea.hpjp.util.providers.queries.PostgreSQLQueries; import jakarta.persistence.*; import org.hibernate.annotations.JdbcType; -import org.hibernate.dialect.PostgreSQLEnumJdbcType; -import org.junit.Test; -import org.postgresql.util.PGobject; +import org.hibernate.dialect.type.PostgreSQLEnumJdbcType; +import org.junit.jupiter.api.Test; import java.sql.*; import java.util.ArrayList; @@ -18,7 +17,7 @@ import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * PostgresIndexSelectivityTest - Test PostgreSQL index selectivity diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/index/SQLServerMissingIndexTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/index/SQLServerMissingIndexTest.java index 71eb99d2a..e9dbe9b44 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/index/SQLServerMissingIndexTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/index/SQLServerMissingIndexTest.java @@ -3,14 +3,12 @@ import com.vladmihalcea.hpjp.jdbc.index.providers.IndexEntityProvider; import com.vladmihalcea.hpjp.jdbc.index.providers.IndexEntityProvider.Task; import com.vladmihalcea.hpjp.util.AbstractSQLServerIntegrationTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.List; import java.util.Properties; import java.util.concurrent.TimeUnit; -import static org.junit.Assert.assertFalse; - /** * @author Vlad Mihalcea */ diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/index/providers/IndexEntityProvider.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/index/providers/IndexEntityProvider.java index 561c7ba0f..41af68046 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/index/providers/IndexEntityProvider.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/index/providers/IndexEntityProvider.java @@ -1,7 +1,6 @@ package com.vladmihalcea.hpjp.jdbc.index.providers; import com.vladmihalcea.hpjp.util.EntityProvider; - import jakarta.persistence.*; import java.util.concurrent.ThreadLocalRandom; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/AutoCommitTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/AutoCommitTest.java index 8a7bc2868..1b4df1468 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/AutoCommitTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/AutoCommitTest.java @@ -3,14 +3,14 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.exception.DataAccessException; import com.vladmihalcea.hpjp.util.providers.entity.BankEntityProvider; -import org.junit.Test; +import org.junit.jupiter.api.Test; import javax.sql.DataSource; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea @@ -27,8 +27,7 @@ protected Class[] entities() { } @Override - public void init() { - super.init(); + public void afterInit() { doInJDBC(connection -> { try ( PreparedStatement accountStatement = connection.prepareStatement(INSERT_ACCOUNT); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/ConnectionReadyOnlyTransactionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/ConnectionReadyOnlyTransactionTest.java index 87c71adbe..6dbbfd084 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/ConnectionReadyOnlyTransactionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/ConnectionReadyOnlyTransactionTest.java @@ -1,9 +1,8 @@ package com.vladmihalcea.hpjp.jdbc.transaction; -import com.vladmihalcea.hpjp.util.DatabaseProviderIntegrationTest; -import com.vladmihalcea.hpjp.util.providers.Database; +import com.vladmihalcea.hpjp.util.DatabaseIntegrationTest; import com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.Connection; import java.sql.PreparedStatement; @@ -14,15 +13,11 @@ * * @author Vlad Mihalcea */ -public class ConnectionReadyOnlyTransactionTest extends DatabaseProviderIntegrationTest { +public class ConnectionReadyOnlyTransactionTest extends DatabaseIntegrationTest { public static final String INSERT_POST = "insert into post (title, version, id) values (?, ?, ?)"; private BlogEntityProvider entityProvider = new BlogEntityProvider(); - public ConnectionReadyOnlyTransactionTest(Database database) { - super(database); - } - @Override protected Class[] entities() { return entityProvider.entities(); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/MVCCPostgreSQLTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/MVCCPostgreSQLTest.java index 2d57a27e1..543372752 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/MVCCPostgreSQLTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/MVCCPostgreSQLTest.java @@ -7,12 +7,12 @@ import jakarta.persistence.Table; import org.hibernate.query.Query; import org.hibernate.transform.AliasToBeanResultTransformer; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.List; import java.util.concurrent.CountDownLatch; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/OracleConnectionReadyOnlyTransactionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/OracleConnectionReadyOnlyTransactionTest.java index da5c43336..322b5fde9 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/OracleConnectionReadyOnlyTransactionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/OracleConnectionReadyOnlyTransactionTest.java @@ -1,35 +1,28 @@ package com.vladmihalcea.hpjp.jdbc.transaction; -import com.vladmihalcea.hpjp.util.providers.DataSourceProvider; import com.vladmihalcea.hpjp.util.providers.Database; -import com.vladmihalcea.hpjp.util.providers.OracleDataSourceProvider; -import org.assertj.core.util.Arrays; -import org.junit.runners.Parameterized; +import org.junit.jupiter.params.ParameterizedClass; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.List; +import java.util.stream.Stream; /** * OracleConnectionReadyOnlyTransactionTest - Test to verify Oracle driver supports read-only transactions * * @author Vlad Mihalcea */ +@ParameterizedClass +@MethodSource("parameters") public class OracleConnectionReadyOnlyTransactionTest extends ConnectionReadyOnlyTransactionTest { - public OracleConnectionReadyOnlyTransactionTest(Database database) { - super(database); - } - - @Parameterized.Parameters - public static Collection databases() { - List databases = new ArrayList<>(); - databases.add(Arrays.array(Database.ORACLE)); - return databases; + public static Stream parameters() { + return Stream.of( + Arguments.of(Database.ORACLE) + ); } protected void setReadOnly(Connection connection) throws SQLException { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/SQLServerConnectionReadyOnlyTransactionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/SQLServerConnectionReadyOnlyTransactionTest.java index 1fb748687..249a7749a 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/SQLServerConnectionReadyOnlyTransactionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/SQLServerConnectionReadyOnlyTransactionTest.java @@ -4,30 +4,26 @@ import com.vladmihalcea.hpjp.util.providers.DataSourceProvider; import com.vladmihalcea.hpjp.util.providers.Database; import com.vladmihalcea.hpjp.util.providers.SQLServerDataSourceProvider; -import org.assertj.core.util.Arrays; -import org.junit.runners.Parameterized; +import org.junit.jupiter.params.ParameterizedClass; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; import javax.sql.DataSource; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; +import java.util.stream.Stream; /** * SQLServerConnectionReadyOnlyTransactionTest - Test to verify SQL Server driver supports read-only transactions * * @author Vlad Mihalcea */ +@ParameterizedClass +@MethodSource("parameters") public class SQLServerConnectionReadyOnlyTransactionTest extends ConnectionReadyOnlyTransactionTest { - public SQLServerConnectionReadyOnlyTransactionTest(Database database) { - super(database); - } - - @Parameterized.Parameters - public static Collection databases() { - List databases = new ArrayList<>(); - databases.add(Arrays.array(Database.SQLSERVER)); - return databases; + public static Stream parameters() { + return Stream.of( + Arguments.of(Database.SQLSERVER) + ); } protected DataSourceProvider dataSourceProvider() { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/locking/AbstractPredicateLockTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/locking/AbstractPredicateLockTest.java index 722806f88..218d22d6d 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/locking/AbstractPredicateLockTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/locking/AbstractPredicateLockTest.java @@ -6,11 +6,10 @@ import org.hibernate.LockMode; import org.hibernate.LockOptions; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.Connection; import java.sql.SQLException; -import java.util.ArrayList; import java.util.List; import java.util.concurrent.CountDownLatch; import java.util.concurrent.atomic.AtomicBoolean; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/locking/AbstractTableLockTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/locking/AbstractTableLockTest.java index 7fd98d1a3..1114491b5 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/locking/AbstractTableLockTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/locking/AbstractTableLockTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import jakarta.persistence.*; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.Connection; import java.sql.PreparedStatement; @@ -10,7 +10,7 @@ import java.util.concurrent.Executors; import java.util.concurrent.atomic.AtomicBoolean; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/locking/MySQLPredicateLockTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/locking/MySQLPredicateLockTest.java index 1aef1b193..83b34deda 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/locking/MySQLPredicateLockTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/locking/MySQLPredicateLockTest.java @@ -6,7 +6,7 @@ import java.sql.Connection; import java.sql.SQLException; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/locking/MySQLTableLockWithEmployeesInFirstDepartmentOnlyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/locking/MySQLTableLockWithEmployeesInFirstDepartmentOnlyTest.java index 44817f337..964d100ad 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/locking/MySQLTableLockWithEmployeesInFirstDepartmentOnlyTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/locking/MySQLTableLockWithEmployeesInFirstDepartmentOnlyTest.java @@ -7,7 +7,7 @@ import java.sql.PreparedStatement; import java.sql.SQLException; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/locking/PostgreSQLForNoKeyUpdateTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/locking/PostgreSQLForNoKeyUpdateTest.java index e39ae8aad..7265bd121 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/locking/PostgreSQLForNoKeyUpdateTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/locking/PostgreSQLForNoKeyUpdateTest.java @@ -4,15 +4,13 @@ import com.vladmihalcea.hpjp.util.exception.ExceptionUtil; import com.vladmihalcea.hpjp.util.providers.Database; import jakarta.persistence.*; -import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import java.util.concurrent.CountDownLatch; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicLong; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/locking/PostgreSQLPredicateLockTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/locking/PostgreSQLPredicateLockTest.java index 0e906fc17..89a61e80c 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/locking/PostgreSQLPredicateLockTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/locking/PostgreSQLPredicateLockTest.java @@ -5,11 +5,11 @@ import org.hibernate.LockMode; import org.hibernate.LockOptions; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.concurrent.atomic.AtomicBoolean; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/locking/SQLServerTableLockMultipleEntriesTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/locking/SQLServerTableLockMultipleEntriesTest.java index b4de87175..d92b239b4 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/locking/SQLServerTableLockMultipleEntriesTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/locking/SQLServerTableLockMultipleEntriesTest.java @@ -6,7 +6,7 @@ import java.sql.PreparedStatement; import java.sql.SQLException; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/locking/advisory/AbstractPostgreSQLAdvisoryLocksTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/locking/advisory/AbstractPostgreSQLAdvisoryLocksTest.java index 9bf884816..fb04dee4b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/locking/advisory/AbstractPostgreSQLAdvisoryLocksTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/locking/advisory/AbstractPostgreSQLAdvisoryLocksTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.jdbc.transaction.locking.advisory; import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.io.IOException; import java.nio.file.Files; @@ -18,8 +18,8 @@ import static java.nio.charset.StandardCharsets.UTF_8; import static java.nio.file.StandardOpenOption.APPEND; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/locking/advisory/PostgreSQLReadWriteAdvisoryLocksTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/locking/advisory/PostgreSQLReadWriteAdvisoryLocksTest.java index b19478343..bf8d797ee 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/locking/advisory/PostgreSQLReadWriteAdvisoryLocksTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/locking/advisory/PostgreSQLReadWriteAdvisoryLocksTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.jdbc.transaction.locking.advisory; import com.vladmihalcea.hpjp.util.AbstractPostgreSQLIntegrationTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.io.IOException; import java.nio.file.Files; @@ -19,8 +19,8 @@ import static java.nio.charset.StandardCharsets.UTF_8; import static java.nio.file.StandardOpenOption.APPEND; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea @@ -37,35 +37,31 @@ public class PostgreSQLReadWriteAdvisoryLocksTest extends AbstractPostgreSQLInte public static final int documentId = 123; - private static final Path doc = Paths.get( TEMP_FOLDER, String.format( "document_%d.log", documentId ) ); + private static final Path doc = Paths.get(TEMP_FOLDER, String.format("document_%d.log", documentId)); @Override protected Class[] entities() { - return new Class[] { + return new Class[]{ }; } @Override - public void init() { - super.init(); + public void beforeInit() { try { - Files.deleteIfExists( doc ); - Files.createFile( doc ); - } - catch (IOException e) { - fail( e.getMessage() ); + Files.deleteIfExists(doc); + Files.createFile(doc); + } catch (IOException e) { + fail(e.getMessage()); } } @Override - public void destroy() { + public void afterDestroy() { try { - Files.deleteIfExists( doc ); - } - catch (IOException e) { - fail( e.getMessage() ); + Files.deleteIfExists(doc); + } catch (IOException e) { + fail(e.getMessage()); } - super.destroy(); } @Test diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/AbstractPhenomenaTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/AbstractPhenomenaTest.java index 6a3bcc46f..502729c9a 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/AbstractPhenomenaTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/AbstractPhenomenaTest.java @@ -3,29 +3,30 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.exception.ExceptionUtil; import com.vladmihalcea.hpjp.util.providers.entity.BlogEntityProvider; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.Parameter; +import org.junit.jupiter.params.ParameterizedClass; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; import java.sql.Statement; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; import java.util.concurrent.CountDownLatch; import java.util.concurrent.atomic.AtomicBoolean; +import java.util.stream.Stream; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; /** * PhenomenaTest - Test to validate what phenomena does a certain isolation level prevents * * @author Vlad Mihalcea */ -@RunWith(Parameterized.class) +@ParameterizedClass +@MethodSource("parameters") public abstract class AbstractPhenomenaTest extends AbstractTest { public static final String INSERT_POST = "insert into post (title, version, id) values (?, ?, ?)"; @@ -34,19 +35,15 @@ public abstract class AbstractPhenomenaTest extends AbstractTest { public static final String INSERT_POST_DETAILS = "insert into post_details (id, created_by, version) values (?, ?, ?)"; - protected final String isolationLevelName; - - protected final int isolationLevel; + @Parameter(0) + protected String isolationLevelName; + @Parameter(1) + protected int isolationLevel; private final CountDownLatch bobLatch = new CountDownLatch(1); private BlogEntityProvider entityProvider = new BlogEntityProvider(); - protected AbstractPhenomenaTest(String isolationLevelName, int isolationLevel) { - this.isolationLevelName = isolationLevelName; - this.isolationLevel = isolationLevel; - } - public String getIsolationLevelName() { return isolationLevelName; } @@ -60,14 +57,13 @@ protected Class[] entities() { return entityProvider.entities(); } - @Parameterized.Parameters - public static Collection isolationLevels() { - List levels = new ArrayList<>(); - levels.add(new Object[]{"Read Uncommitted", Connection.TRANSACTION_READ_UNCOMMITTED}); - levels.add(new Object[]{"Read Committed", Connection.TRANSACTION_READ_COMMITTED}); - levels.add(new Object[]{"Repeatable Read", Connection.TRANSACTION_REPEATABLE_READ}); - levels.add(new Object[]{"Serializable", Connection.TRANSACTION_SERIALIZABLE}); - return levels; + public static Stream parameters() { + return Stream.of( + Arguments.of("Read Uncommitted", Connection.TRANSACTION_READ_UNCOMMITTED), + Arguments.of("Read Committed", Connection.TRANSACTION_READ_COMMITTED), + Arguments.of("Repeatable Read", Connection.TRANSACTION_REPEATABLE_READ), + Arguments.of("Serializable", Connection.TRANSACTION_SERIALIZABLE) + ); } @Override diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/MySQLPhenomenaTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/MySQLPhenomenaTest.java index ef4fa8abb..de2519c59 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/MySQLPhenomenaTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/MySQLPhenomenaTest.java @@ -10,10 +10,6 @@ */ public class MySQLPhenomenaTest extends AbstractPhenomenaTest { - public MySQLPhenomenaTest(String isolationLevelName, int isolationLevel) { - super(isolationLevelName, isolationLevel); - } - @Override protected DataSourceProvider dataSourceProvider() { return new MySQLDataSourceProvider(); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/OraclePhenomenaTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/OraclePhenomenaTest.java index 9feb0b7cd..9167a32c9 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/OraclePhenomenaTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/OraclePhenomenaTest.java @@ -16,10 +16,6 @@ */ public class OraclePhenomenaTest extends AbstractPhenomenaTest { - public OraclePhenomenaTest(String isolationLevelName, int isolationLevel) { - super(isolationLevelName, isolationLevel); - } - @Parameterized.Parameters public static Collection isolationLevels() { List levels = new ArrayList<>(); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/PostgreSQLPhenomenaTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/PostgreSQLPhenomenaTest.java index 2a4e72907..1a81af0ea 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/PostgreSQLPhenomenaTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/PostgreSQLPhenomenaTest.java @@ -10,10 +10,6 @@ */ public class PostgreSQLPhenomenaTest extends AbstractPhenomenaTest { - public PostgreSQLPhenomenaTest(String isolationLevelName, int isolationLevel) { - super(isolationLevelName, isolationLevel); - } - @Override protected DataSourceProvider dataSourceProvider() { return new PostgreSQLDataSourceProvider(); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/SQLServerPhenomenaTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/SQLServerPhenomenaTest.java index c8dc6147d..571056127 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/SQLServerPhenomenaTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/SQLServerPhenomenaTest.java @@ -19,10 +19,6 @@ */ public class SQLServerPhenomenaTest extends AbstractPhenomenaTest { - public SQLServerPhenomenaTest(String isolationLevelName, int isolationLevel) { - super(isolationLevelName, isolationLevel); - } - @Override protected DataSourceProvider dataSourceProvider() { return new SQLServerDataSourceProvider(); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/YugabyteDBPhenomenaTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/YugabyteDBPhenomenaTest.java index 5c8b72dc7..1194c9adf 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/YugabyteDBPhenomenaTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/YugabyteDBPhenomenaTest.java @@ -2,32 +2,18 @@ import com.vladmihalcea.hpjp.util.providers.DataSourceProvider; import com.vladmihalcea.hpjp.util.providers.YugabyteDBDataSourceProvider; -import org.junit.runners.Parameterized; - -import java.util.Collection; -import java.util.Collections; +import org.junit.jupiter.api.Disabled; /** * YugabyteDBPhenomenaTest - Test to validate YugabyteDB phenomena * * @author Vlad Mihalcea */ +@Disabled public class YugabyteDBPhenomenaTest extends AbstractPhenomenaTest { - public YugabyteDBPhenomenaTest(String isolationLevelName, int isolationLevel) { - super(isolationLevelName, isolationLevel); - } - @Override protected DataSourceProvider dataSourceProvider() { return new YugabyteDBDataSourceProvider(); } - - @Parameterized.Parameters - public static Collection isolationLevels() { - if(!ENABLE_LONG_RUNNING_TESTS) { - return Collections.emptyList(); - } - return AbstractPhenomenaTest.isolationLevels(); - } } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/writeskew/AbstractDepartmentEmployeePhenomenaTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/writeskew/AbstractDepartmentEmployeePhenomenaTest.java index 6270360eb..6c02e23bf 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/writeskew/AbstractDepartmentEmployeePhenomenaTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/writeskew/AbstractDepartmentEmployeePhenomenaTest.java @@ -2,38 +2,36 @@ import com.vladmihalcea.hpjp.util.AbstractTest; import jakarta.persistence.*; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; +import org.junit.jupiter.params.Parameter; +import org.junit.jupiter.params.ParameterizedClass; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; import java.util.ArrayList; import java.util.Arrays; -import java.util.Collection; import java.util.List; +import java.util.stream.Stream; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea */ -@RunWith(Parameterized.class) +@ParameterizedClass +@MethodSource("parameters") public abstract class AbstractDepartmentEmployeePhenomenaTest extends AbstractTest { public static final String INSERT_DEPARTMENT = "insert into department (name, budget, id) values (?, ?, ?)"; public static final String INSERT_EMPLOYEE = "insert into employee (department_id, name, salary, id) values (?, ?, ?, ?)"; - - protected final String isolationLevelName; - - protected final int isolationLevel; - - protected AbstractDepartmentEmployeePhenomenaTest(String isolationLevelName, int isolationLevel) { - this.isolationLevelName = isolationLevelName; - this.isolationLevel = isolationLevel; - } + @Parameter(0) + protected String isolationLevelName; + @Parameter(1) + protected int isolationLevel; @Override protected Class[] entities() { @@ -43,13 +41,12 @@ protected Class[] entities() { return classes.toArray(new Class[]{}); } - @Parameterized.Parameters - public static Collection isolationLevels() { - List levels = new ArrayList<>(); - levels.add(new Object[]{"Read Committed", Connection.TRANSACTION_READ_COMMITTED}); - levels.add(new Object[]{"Repeatable Read", Connection.TRANSACTION_REPEATABLE_READ}); - levels.add(new Object[]{"Serializable", Connection.TRANSACTION_SERIALIZABLE}); - return levels; + public static Stream parameters() { + return Stream.of( + Arguments.of("Read Committed", Connection.TRANSACTION_READ_COMMITTED), + Arguments.of("Repeatable Read", Connection.TRANSACTION_REPEATABLE_READ), + Arguments.of("Serializable", Connection.TRANSACTION_SERIALIZABLE) + ); } protected String sumEmployeeSalarySql() { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/writeskew/AbstractRangeBasedWriteSkewPhenomenaTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/writeskew/AbstractRangeBasedWriteSkewPhenomenaTest.java index 032d8fa04..d35732a9c 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/writeskew/AbstractRangeBasedWriteSkewPhenomenaTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/writeskew/AbstractRangeBasedWriteSkewPhenomenaTest.java @@ -1,27 +1,24 @@ package com.vladmihalcea.hpjp.jdbc.transaction.phenomena.writeskew; import com.vladmihalcea.hpjp.util.exception.ExceptionUtil; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedClass; +import org.junit.jupiter.params.provider.MethodSource; import java.sql.PreparedStatement; import java.time.Duration; import java.util.List; import java.util.concurrent.atomic.AtomicBoolean; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea */ -@RunWith(Parameterized.class) +@ParameterizedClass +@MethodSource("parameters") public abstract class AbstractRangeBasedWriteSkewPhenomenaTest extends AbstractDepartmentEmployeePhenomenaTest { - protected AbstractRangeBasedWriteSkewPhenomenaTest(String isolationLevelName, int isolationLevel) { - super(isolationLevelName, isolationLevel); - } - @Test public void testWriteSkewAggregateWriteSkewAggregate() { final AtomicBoolean preventedByLocking = new AtomicBoolean(); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/writeskew/OracleRangeBasedWriteSkewPhenomenaTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/writeskew/OracleRangeBasedWriteSkewPhenomenaTest.java index 4d4e2d2ea..6cc5bb0b2 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/writeskew/OracleRangeBasedWriteSkewPhenomenaTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/writeskew/OracleRangeBasedWriteSkewPhenomenaTest.java @@ -2,35 +2,32 @@ import com.vladmihalcea.hpjp.util.providers.DataSourceProvider; import com.vladmihalcea.hpjp.util.providers.OracleDataSourceProvider; -import org.junit.Test; -import org.junit.runners.Parameterized; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedClass; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; import java.sql.Connection; import java.sql.PreparedStatement; import java.time.Duration; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicReference; +import java.util.stream.Stream; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea */ +@ParameterizedClass +@MethodSource("parameters") public class OracleRangeBasedWriteSkewPhenomenaTest extends AbstractRangeBasedWriteSkewPhenomenaTest { - public OracleRangeBasedWriteSkewPhenomenaTest(String isolationLevelName, int isolationLevel) { - super(isolationLevelName, isolationLevel); - } - - @Parameterized.Parameters - public static Collection isolationLevels() { - List levels = new ArrayList<>(); - levels.add(new Object[]{"Read Committed", Connection.TRANSACTION_READ_COMMITTED}); - levels.add(new Object[]{"Serializable", Connection.TRANSACTION_SERIALIZABLE}); - return levels; + public static Stream parameters() { + return Stream.of( + Arguments.of("Read Committed", Connection.TRANSACTION_READ_COMMITTED), + Arguments.of("Serializable", Connection.TRANSACTION_SERIALIZABLE) + ); } @Override @@ -39,8 +36,8 @@ protected DataSourceProvider dataSourceProvider() { } @Override - public void init() { - super.init(); + public void afterInit() { + super.afterInit(); doInJDBC(aliceConnection -> { executeStatement(aliceConnection, "alter table employee initrans 100"); }); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/writeskew/PostgreSQLRangeBasedWriteSkewPhenomenaConstraintTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/writeskew/PostgreSQLRangeBasedWriteSkewPhenomenaConstraintTest.java index 1fde1c7ee..25cdead9e 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/writeskew/PostgreSQLRangeBasedWriteSkewPhenomenaConstraintTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/writeskew/PostgreSQLRangeBasedWriteSkewPhenomenaConstraintTest.java @@ -2,23 +2,19 @@ import com.vladmihalcea.hpjp.util.exception.ExceptionUtil; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.PreparedStatement; import java.time.Duration; import java.util.concurrent.atomic.AtomicBoolean; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea */ public class PostgreSQLRangeBasedWriteSkewPhenomenaConstraintTest extends AbstractDepartmentEmployeePhenomenaTest { - public PostgreSQLRangeBasedWriteSkewPhenomenaConstraintTest(String isolationLevelName, int isolationLevel) { - super(isolationLevelName, isolationLevel); - } - @Override protected Database database() { return Database.POSTGRESQL; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/writeskew/PostgreSQLRangeBasedWriteSkewPhenomenaTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/writeskew/PostgreSQLRangeBasedWriteSkewPhenomenaTest.java index 9e98bd4fd..da5029cb5 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/writeskew/PostgreSQLRangeBasedWriteSkewPhenomenaTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/writeskew/PostgreSQLRangeBasedWriteSkewPhenomenaTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.exception.ExceptionUtil; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.PreparedStatement; import java.time.Duration; @@ -13,10 +13,6 @@ */ public class PostgreSQLRangeBasedWriteSkewPhenomenaTest extends AbstractRangeBasedWriteSkewPhenomenaTest { - public PostgreSQLRangeBasedWriteSkewPhenomenaTest(String isolationLevelName, int isolationLevel) { - super(isolationLevelName, isolationLevel); - } - @Override protected Database database() { return Database.POSTGRESQL; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/writeskew/PostgreSQLRangeBasedWriteSkewReadCommittedTest.java b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/writeskew/PostgreSQLRangeBasedWriteSkewReadCommittedTest.java index 720c7de66..3c10140fa 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/writeskew/PostgreSQLRangeBasedWriteSkewReadCommittedTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/jdbc/transaction/phenomena/writeskew/PostgreSQLRangeBasedWriteSkewReadCommittedTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.exception.ExceptionUtil; import com.vladmihalcea.hpjp.util.providers.Database; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.junit.runners.Parameterized; import java.sql.Connection; @@ -19,10 +19,6 @@ */ public class PostgreSQLRangeBasedWriteSkewReadCommittedTest extends AbstractDepartmentEmployeePhenomenaTest { - public PostgreSQLRangeBasedWriteSkewReadCommittedTest(String isolationLevelName, int isolationLevel) { - super(isolationLevelName, isolationLevel); - } - @Override protected Database database() { return Database.POSTGRESQL; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/batch/SpringBatchTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/batch/SpringBatchTest.java index 47b57e7e3..908f4c807 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/batch/SpringBatchTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/batch/SpringBatchTest.java @@ -5,12 +5,12 @@ import com.vladmihalcea.hpjp.spring.batch.domain.PostStatus; import com.vladmihalcea.hpjp.spring.batch.service.ForumService; import com.vladmihalcea.hpjp.spring.common.AbstractSpringTest; -import org.junit.Ignore; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit.jupiter.SpringExtension; import java.util.ArrayList; import java.util.List; @@ -24,7 +24,7 @@ /** * @author Vlad Mihalcea */ -@RunWith(SpringJUnit4ClassRunner.class) +@ExtendWith(SpringExtension.class) @ContextConfiguration(classes = SpringBatchConfiguration.class) public class SpringBatchTest extends AbstractSpringTest { @@ -71,7 +71,7 @@ public void testBatchWrite() { private ExecutorService executorService = Executors.newFixedThreadPool(threadCount); @Test - @Ignore + @Disabled public void testRead() throws InterruptedException { int POST_COUNT = 1000; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/blaze/SpringBlazePersistenceKeysetPaginationTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/blaze/SpringBlazePersistenceKeysetPaginationTest.java index 0d38749d4..71f958fa7 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/blaze/SpringBlazePersistenceKeysetPaginationTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/blaze/SpringBlazePersistenceKeysetPaginationTest.java @@ -5,7 +5,7 @@ import com.vladmihalcea.hpjp.spring.blaze.domain.*; import com.vladmihalcea.hpjp.spring.blaze.service.ForumService; import com.vladmihalcea.hpjp.spring.common.AbstractSpringTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.transaction.TransactionException; @@ -16,7 +16,7 @@ import java.util.List; import java.util.stream.LongStream; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/blaze/SpringBlazePersistenceMockTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/blaze/SpringBlazePersistenceMockTest.java index 721c59a46..09a6c5b6a 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/blaze/SpringBlazePersistenceMockTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/blaze/SpringBlazePersistenceMockTest.java @@ -4,13 +4,13 @@ import com.vladmihalcea.hpjp.spring.blaze.domain.Post; import com.vladmihalcea.hpjp.spring.blaze.repository.PostRepository; import com.vladmihalcea.hpjp.spring.blaze.service.ForumService; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.mockito.Mockito; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.data.domain.Sort; -import static org.junit.Assert.assertSame; +import static org.junit.jupiter.api.Assertions.assertSame; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.when; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/blaze/SpringBlazePersistenceMultisetTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/blaze/SpringBlazePersistenceMultisetTest.java index f78a80153..54a41eccd 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/blaze/SpringBlazePersistenceMultisetTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/blaze/SpringBlazePersistenceMultisetTest.java @@ -8,7 +8,7 @@ import com.vladmihalcea.hpjp.spring.common.AbstractSpringTest; import com.vladmihalcea.hpjp.util.exception.ExceptionUtil; import org.hibernate.loader.MultipleBagFetchException; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.transaction.TransactionException; @@ -17,8 +17,8 @@ import java.util.ArrayList; import java.util.List; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/common/AbstractSpringTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/common/AbstractSpringTest.java index eb38e5622..b52fd212a 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/common/AbstractSpringTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/common/AbstractSpringTest.java @@ -4,19 +4,18 @@ import jakarta.persistence.PersistenceContext; import jakarta.persistence.criteria.CriteriaBuilder; import jakarta.persistence.criteria.CriteriaDelete; -import jakarta.persistence.criteria.Root; -import org.junit.Before; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.extension.ExtendWith; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.transaction.support.TransactionTemplate; /** * @author Vlad Mihalcea */ -@RunWith(SpringJUnit4ClassRunner.class) +@ExtendWith(SpringExtension.class) public abstract class AbstractSpringTest { protected final Logger LOGGER = LoggerFactory.getLogger(getClass()); @@ -27,7 +26,7 @@ public abstract class AbstractSpringTest { @PersistenceContext protected EntityManager entityManager; - @Before + @BeforeEach public void init() { transactionTemplate.execute(transactionStatus -> { CriteriaBuilder builder = entityManager.getCriteriaBuilder(); diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/assigned/SpringDataJPAAssignedTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/assigned/SpringDataJPAAssignedTest.java index 0d1a5c150..786e29b8e 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/assigned/SpringDataJPAAssignedTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/assigned/SpringDataJPAAssignedTest.java @@ -5,7 +5,7 @@ import com.vladmihalcea.hpjp.spring.data.assigned.domain.Book; import com.vladmihalcea.hpjp.spring.data.assigned.repository.BookBaseJpaRepository; import com.vladmihalcea.hpjp.spring.data.assigned.repository.BookRepository; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/audit/SpringDataJPAAuditTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/audit/SpringDataJPAAuditTest.java index 75f044a25..a5bfef3fa 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/audit/SpringDataJPAAuditTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/audit/SpringDataJPAAuditTest.java @@ -7,7 +7,7 @@ import com.vladmihalcea.hpjp.spring.data.audit.domain.PostStatus; import com.vladmihalcea.hpjp.spring.data.audit.repository.PostRepository; import com.vladmihalcea.hpjp.spring.data.audit.service.PostService; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/base/SpringDataJPABaseRepositoryTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/base/SpringDataJPABaseRepositoryTest.java index 0ea2653b7..5d6eab320 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/base/SpringDataJPABaseRepositoryTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/base/SpringDataJPABaseRepositoryTest.java @@ -4,11 +4,11 @@ import com.vladmihalcea.hpjp.spring.common.AbstractSpringTest; import com.vladmihalcea.hpjp.spring.data.base.config.SpringDataJPABaseRepositoryConfiguration; import com.vladmihalcea.hpjp.spring.data.base.service.ForumService; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/bidirectional/SpringDataJPABidirectionalTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/bidirectional/SpringDataJPABidirectionalTest.java index 69eafec6d..c232566da 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/bidirectional/SpringDataJPABidirectionalTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/bidirectional/SpringDataJPABidirectionalTest.java @@ -9,7 +9,7 @@ import com.vladmihalcea.hpjp.spring.data.bidirectional.repository.PostCommentRepository; import com.vladmihalcea.hpjp.spring.data.bidirectional.repository.PostRepository; import com.vladmihalcea.hpjp.spring.data.bidirectional.service.ForumService; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.transaction.support.TransactionCallback; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/bytecode/AttachmentLazyLoading.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/bytecode/AttachmentLazyLoading.java index 3ef699998..5c93dfe58 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/bytecode/AttachmentLazyLoading.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/bytecode/AttachmentLazyLoading.java @@ -6,7 +6,7 @@ import com.vladmihalcea.hpjp.util.exception.ExceptionUtil; import io.hypersistence.utils.common.ReflectionUtils; import org.hibernate.LazyInitializationException; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.transaction.support.TransactionTemplate; @@ -17,7 +17,7 @@ import java.nio.file.Paths; import static org.aspectj.bridge.MessageUtil.fail; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/bytecode/SpringDataJPARuntimeBytecodeEnhancementTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/bytecode/SpringDataJPARuntimeBytecodeEnhancementTest.java index 9a2fbdc82..b5a9a1a2c 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/bytecode/SpringDataJPARuntimeBytecodeEnhancementTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/bytecode/SpringDataJPARuntimeBytecodeEnhancementTest.java @@ -4,7 +4,7 @@ import com.vladmihalcea.hpjp.spring.common.AbstractSpringTest; import com.vladmihalcea.hpjp.spring.data.bytecode.config.SpringDataJPARuntimeBytecodeEnhancementConfiguration; import com.vladmihalcea.hpjp.spring.data.bytecode.repository.AttachmentRepository; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; @@ -26,6 +26,11 @@ protected Class[] entities() { }; } + /* + * Run like this: + * + * java -Djavaagent=d:/.m2/repository/org/springframework/spring-instrument/6.2.14/spring-instrument-6.2.14.jar + */ @Test public void test() throws URISyntaxException { AttachmentLazyLoading logic = new AttachmentLazyLoading( diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/cascade/SpringDataJPACascadeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/cascade/SpringDataJPACascadeTest.java index 69000d8f6..7ae986c2f 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/cascade/SpringDataJPACascadeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/cascade/SpringDataJPACascadeTest.java @@ -11,8 +11,8 @@ import com.vladmihalcea.hpjp.spring.data.cascade.repository.PostRepository; import com.vladmihalcea.hpjp.spring.data.cascade.repository.TagRepository; import org.hibernate.Session; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.transaction.support.TransactionCallback; @@ -21,7 +21,7 @@ import java.util.Iterator; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea @@ -290,7 +290,7 @@ public void testBatchingDeletePostAndCommentsManualOrdering() { } @Test - @Ignore(""" + @Disabled(""" Requires the comments collection to use @OneToMany(mappedBy = \"post\", cascade = {CascadeType.PERSIST, CascadeType.MERGE}) """) diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/crud/SpringDataJPACrudTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/crud/SpringDataJPACrudTest.java index d8e12075b..5a87e9498 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/crud/SpringDataJPACrudTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/crud/SpringDataJPACrudTest.java @@ -12,7 +12,7 @@ import com.vladmihalcea.hpjp.spring.data.crud.service.PostService; import org.hibernate.SessionFactory; import org.hibernate.StatelessSession; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DataIntegrityViolationException; import org.springframework.test.context.ContextConfiguration; @@ -22,7 +22,7 @@ import java.util.stream.Collectors; import java.util.stream.LongStream; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/crud/service/PostService.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/crud/service/PostService.java index 20edbb23e..a82002420 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/crud/service/PostService.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/crud/service/PostService.java @@ -17,7 +17,7 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/custom/SpringDataJPACustomRepositoryTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/custom/SpringDataJPACustomRepositoryTest.java index 4ce5a663d..fe5951b05 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/custom/SpringDataJPACustomRepositoryTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/custom/SpringDataJPACustomRepositoryTest.java @@ -8,7 +8,7 @@ import com.vladmihalcea.hpjp.spring.data.custom.config.SpringDataJPACustomRepositoryConfiguration; import com.vladmihalcea.hpjp.spring.data.custom.repository.PostRepository; import com.vladmihalcea.hpjp.spring.data.custom.service.ForumService; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.transaction.TransactionException; @@ -20,7 +20,7 @@ import java.util.List; import java.util.stream.Collectors; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/dto2entity/SpringDataJPADTO2EntityTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/dto2entity/SpringDataJPADTO2EntityTest.java index 790731704..2a6952d12 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/dto2entity/SpringDataJPADTO2EntityTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/dto2entity/SpringDataJPADTO2EntityTest.java @@ -14,7 +14,7 @@ import com.vladmihalcea.hpjp.spring.data.dto2entity.repository.PostRepository; import com.vladmihalcea.hpjp.spring.data.dto2entity.service.ForumFacadeService; import com.vladmihalcea.hpjp.spring.data.dto2entity.service.ForumService; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/lock/SpringDataJPALockTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/lock/SpringDataJPALockTest.java index cbff7f523..2ed3e43e3 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/lock/SpringDataJPALockTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/lock/SpringDataJPALockTest.java @@ -7,15 +7,15 @@ import com.vladmihalcea.hpjp.spring.data.lock.repository.PostCommentRepository; import com.vladmihalcea.hpjp.spring.data.lock.repository.PostRepository; import jakarta.persistence.LockModeType; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.transaction.support.TransactionCallback; import java.util.List; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/masquerade/SpringDataJPAMasqueradeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/masquerade/SpringDataJPAMasqueradeTest.java index 95244ae90..13c9e8300 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/masquerade/SpringDataJPAMasqueradeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/masquerade/SpringDataJPAMasqueradeTest.java @@ -10,7 +10,7 @@ import com.vladmihalcea.hpjp.spring.data.masquerade.repository.PostRepository; import com.vladmihalcea.hpjp.spring.data.masquerade.service.ForumService; import com.vladmihalcea.hpjp.util.CryptoUtils; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -22,7 +22,7 @@ import java.util.List; import java.util.stream.LongStream; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/merge/SpringDataJPAMergeTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/merge/SpringDataJPAMergeTest.java index 1ee4d7302..29679f6f2 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/merge/SpringDataJPAMergeTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/merge/SpringDataJPAMergeTest.java @@ -5,7 +5,7 @@ import com.vladmihalcea.hpjp.spring.data.merge.domain.Post; import com.vladmihalcea.hpjp.spring.data.merge.domain.PostComment; import com.vladmihalcea.hpjp.spring.data.merge.service.ForumService; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.transaction.support.TransactionCallback; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/projection/SpringDataJPAProjectionTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/projection/SpringDataJPAProjectionTest.java index b12a0a995..f6216476d 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/projection/SpringDataJPAProjectionTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/projection/SpringDataJPAProjectionTest.java @@ -10,7 +10,7 @@ import com.vladmihalcea.hpjp.spring.data.projection.dto.PostCommentSummary; import com.vladmihalcea.hpjp.spring.data.projection.repository.PostRepository; import jakarta.persistence.Tuple; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.transaction.TransactionException; @@ -20,7 +20,7 @@ import java.util.concurrent.atomic.AtomicLong; import java.util.stream.LongStream; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/example/SpringDataJPAQueryByExampleTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/example/SpringDataJPAQueryByExampleTest.java index d34a8af94..948a2fdfb 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/example/SpringDataJPAQueryByExampleTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/example/SpringDataJPAQueryByExampleTest.java @@ -8,7 +8,7 @@ import com.vladmihalcea.hpjp.spring.data.query.example.domain.Tag; import com.vladmihalcea.hpjp.spring.data.query.example.repository.PostCommentRepository; import com.vladmihalcea.hpjp.spring.data.query.example.repository.PostRepository; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.*; import org.springframework.test.context.ContextConfiguration; @@ -19,8 +19,8 @@ import java.util.ArrayList; import java.util.List; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/exists/SpringDataJPAExistsTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/exists/SpringDataJPAExistsTest.java index 40ea30284..eec6055bb 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/exists/SpringDataJPAExistsTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/exists/SpringDataJPAExistsTest.java @@ -5,7 +5,7 @@ import com.vladmihalcea.hpjp.spring.data.query.exists.domain.Post; import com.vladmihalcea.hpjp.spring.data.query.exists.domain.Post_; import com.vladmihalcea.hpjp.spring.data.query.exists.repository.PostRepository; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Example; import org.springframework.data.domain.ExampleMatcher; @@ -13,7 +13,7 @@ import org.springframework.transaction.TransactionException; import org.springframework.transaction.support.TransactionCallback; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.springframework.data.domain.ExampleMatcher.GenericPropertyMatchers.exact; /** diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/fetch/SpringDataJPAJoinFetchPaginationTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/fetch/SpringDataJPAJoinFetchPaginationTest.java index eb87a7db4..cc18882af 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/fetch/SpringDataJPAJoinFetchPaginationTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/fetch/SpringDataJPAJoinFetchPaginationTest.java @@ -7,7 +7,7 @@ import com.vladmihalcea.hpjp.spring.data.query.fetch.repository.PostRepository; import com.vladmihalcea.hpjp.spring.data.query.fetch.service.ForumService; import com.vladmihalcea.hpjp.util.exception.ExceptionUtil; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; @@ -25,8 +25,8 @@ import java.util.List; import java.util.stream.LongStream; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/fetch/SpringDataJPAOSIVTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/fetch/SpringDataJPAOSIVTest.java index a2f6e71b0..b7c042cb1 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/fetch/SpringDataJPAOSIVTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/fetch/SpringDataJPAOSIVTest.java @@ -10,7 +10,7 @@ import jakarta.persistence.EntityManager; import jakarta.persistence.EntityManagerFactory; import jakarta.persistence.PersistenceUnit; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.CacheManager; import org.springframework.data.domain.*; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/fetch/SpringDataJPAStreamTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/fetch/SpringDataJPAStreamTest.java index e7b3af5d9..18fc1ab08 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/fetch/SpringDataJPAStreamTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/fetch/SpringDataJPAStreamTest.java @@ -6,7 +6,7 @@ import com.vladmihalcea.hpjp.spring.data.query.fetch.domain.PostComment; import com.vladmihalcea.hpjp.spring.data.query.fetch.repository.PostRepository; import com.vladmihalcea.hpjp.spring.data.query.fetch.service.ForumService; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.Cache; import org.springframework.cache.CacheManager; @@ -21,7 +21,7 @@ import java.util.concurrent.TimeUnit; import java.util.stream.LongStream; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/hint/SpringDataJPAQueryHintTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/hint/SpringDataJPAQueryHintTest.java index 5d4f4bdca..2ee8c6362 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/hint/SpringDataJPAQueryHintTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/hint/SpringDataJPAQueryHintTest.java @@ -7,7 +7,7 @@ import com.vladmihalcea.hpjp.spring.data.query.hint.domain.PostComment; import com.vladmihalcea.hpjp.spring.data.query.hint.repository.PostRepository; import com.vladmihalcea.hpjp.spring.data.query.hint.service.ForumService; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.transaction.TransactionException; @@ -18,7 +18,7 @@ import java.util.List; import java.util.stream.LongStream; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/hint/service/ForumService.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/hint/service/ForumService.java index 772cec2a0..c197824f0 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/hint/service/ForumService.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/hint/service/ForumService.java @@ -12,8 +12,8 @@ import java.util.List; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/method/SpringDataJPAQueryMethodTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/method/SpringDataJPAQueryMethodTest.java index c51ffe48a..06687c1a9 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/method/SpringDataJPAQueryMethodTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/method/SpringDataJPAQueryMethodTest.java @@ -10,7 +10,7 @@ import com.vladmihalcea.hpjp.spring.data.query.method.domain.Tag; import com.vladmihalcea.hpjp.spring.data.query.method.repository.PostCommentRepository; import com.vladmihalcea.hpjp.spring.data.query.method.repository.PostRepository; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.transaction.TransactionException; @@ -20,8 +20,8 @@ import java.util.ArrayList; import java.util.List; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/multibag/SpringDataJPAMultipleBagFetchTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/multibag/SpringDataJPAMultipleBagFetchTest.java index 9e9b36707..3d052be09 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/multibag/SpringDataJPAMultipleBagFetchTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/multibag/SpringDataJPAMultipleBagFetchTest.java @@ -8,7 +8,7 @@ import com.vladmihalcea.hpjp.spring.data.query.multibag.service.BrokenForumService; import com.vladmihalcea.hpjp.spring.data.query.multibag.service.ForumService; import org.hibernate.LazyInitializationException; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.transaction.TransactionException; @@ -18,7 +18,7 @@ import java.util.List; import java.util.Locale; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/specification/SpringDataJPASpecificationTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/specification/SpringDataJPASpecificationTest.java index ec9e054a4..d2ca9d38d 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/specification/SpringDataJPASpecificationTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/specification/SpringDataJPASpecificationTest.java @@ -7,7 +7,7 @@ import com.vladmihalcea.hpjp.spring.data.query.specification.domain.Tag; import com.vladmihalcea.hpjp.spring.data.query.specification.repository.PostCommentRepository; import com.vladmihalcea.hpjp.spring.data.query.specification.repository.PostRepository; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.transaction.TransactionException; @@ -18,8 +18,8 @@ import java.util.List; import static com.vladmihalcea.hpjp.spring.data.query.specification.repository.PostCommentRepository.Specs.*; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; /** diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/window/SpringDataJPAWindowTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/window/SpringDataJPAWindowTest.java index 1ea0561e8..ba95facdc 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/window/SpringDataJPAWindowTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/query/window/SpringDataJPAWindowTest.java @@ -7,7 +7,7 @@ import com.vladmihalcea.hpjp.spring.data.query.window.domain.PostComment_; import com.vladmihalcea.hpjp.spring.data.query.window.repository.PostCommentRepository; import com.vladmihalcea.hpjp.spring.data.query.window.repository.PostRepository; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.ScrollPosition; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/record/SpringDataJPARecordTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/record/SpringDataJPARecordTest.java index 863f34a86..b02f3d946 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/record/SpringDataJPARecordTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/record/SpringDataJPARecordTest.java @@ -8,7 +8,7 @@ import com.vladmihalcea.hpjp.spring.data.record.domain.PostRecord; import com.vladmihalcea.hpjp.spring.data.record.service.ForumService; import io.hypersistence.utils.hibernate.type.json.internal.JacksonUtil; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/recursive/SpringDataJPARecursiveTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/recursive/SpringDataJPARecursiveTest.java index cb5aa04f4..a2d8f5282 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/recursive/SpringDataJPARecursiveTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/recursive/SpringDataJPARecursiveTest.java @@ -7,7 +7,7 @@ import com.vladmihalcea.hpjp.spring.data.recursive.domain.PostCommentDTO; import com.vladmihalcea.hpjp.spring.data.recursive.repository.PostRepository; import com.vladmihalcea.hpjp.spring.data.recursive.service.ForumService; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.transaction.TransactionException; @@ -17,7 +17,7 @@ import java.time.LocalDateTime; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/recursive/domain/PostCommentDTO.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/recursive/domain/PostCommentDTO.java index 44acdcc81..e096cbb0f 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/recursive/domain/PostCommentDTO.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/recursive/domain/PostCommentDTO.java @@ -1,5 +1,7 @@ package com.vladmihalcea.hpjp.spring.data.recursive.domain; +import java.time.LocalDateTime; +import java.time.ZoneOffset; import java.util.ArrayList; import java.util.Comparator; import java.util.Date; @@ -28,6 +30,14 @@ public PostCommentDTO(Number id, Number parentId, String review, Date createdOn, this.score = score.longValue(); } + public PostCommentDTO(Long id, Long parentId, String review, LocalDateTime createdOn, Integer score) { + this.id = id.longValue(); + this.parentId = parentId != null ? parentId.longValue() : null; + this.review = review; + this.createdOn = Date.from(createdOn.toInstant(ZoneOffset.UTC)); + this.score = score.longValue(); + } + public Long getId() { return id; } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/unidirectional/SpringDataJPAUnidirectionalBulkTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/unidirectional/SpringDataJPAUnidirectionalBulkTest.java index c8e72c40e..46bb309c3 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/unidirectional/SpringDataJPAUnidirectionalBulkTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/unidirectional/SpringDataJPAUnidirectionalBulkTest.java @@ -7,14 +7,14 @@ import com.vladmihalcea.hpjp.spring.data.unidirectional.service.ForumService; import com.vladmihalcea.hpjp.util.exception.ExceptionUtil; import org.hibernate.exception.ConstraintViolationException; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.test.context.ContextConfiguration; import org.springframework.transaction.support.TransactionCallback; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/unidirectional/SpringDataJPAUnidirectionalEventListenerTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/unidirectional/SpringDataJPAUnidirectionalEventListenerTest.java index 8334705e1..350abe14f 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/unidirectional/SpringDataJPAUnidirectionalEventListenerTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/unidirectional/SpringDataJPAUnidirectionalEventListenerTest.java @@ -4,7 +4,7 @@ import com.vladmihalcea.hpjp.spring.data.unidirectional.config.SpringDataJPAUnidirectionalEventListenerConfiguration; import com.vladmihalcea.hpjp.spring.data.unidirectional.domain.*; import com.vladmihalcea.hpjp.spring.data.unidirectional.repository.*; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.test.context.ContextConfiguration; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/unidirectional/domain/PostDetails.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/unidirectional/domain/PostDetails.java index 13ce70a11..7e0d14252 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/unidirectional/domain/PostDetails.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/unidirectional/domain/PostDetails.java @@ -45,7 +45,6 @@ public Post getPost() { public PostDetails setPost(Post post) { this.post = post; - this.id = post.getId(); if (getVersion() == null) { setVersion(post.getVersion()); } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/update/SpringDataJPAUpdateTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/update/SpringDataJPAUpdateTest.java index 5dcbe3a19..2cca3e9f9 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/update/SpringDataJPAUpdateTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/update/SpringDataJPAUpdateTest.java @@ -4,7 +4,7 @@ import com.vladmihalcea.hpjp.spring.data.update.config.SpringDataJPAUpdateConfiguration; import com.vladmihalcea.hpjp.spring.data.update.domain.Post; import com.vladmihalcea.hpjp.spring.data.update.repository.PostRepository; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.transaction.support.TransactionCallback; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/partition/SpringTablePartitioningTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/partition/SpringTablePartitioningTest.java index dd0958119..e416759d8 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/partition/SpringTablePartitioningTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/partition/SpringTablePartitioningTest.java @@ -8,14 +8,14 @@ import com.vladmihalcea.hpjp.spring.partition.repository.UserRepository; import com.vladmihalcea.hpjp.spring.partition.service.ForumService; import com.vladmihalcea.hpjp.spring.partition.util.UserContext; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import java.util.List; import java.util.stream.LongStream; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/partition/domain/Post.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/partition/domain/Post.java index 5da9434bf..8d4dbee8d 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/partition/domain/Post.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/partition/domain/Post.java @@ -23,7 +23,18 @@ public class Post extends PartitionAware { private LocalDateTime createdOn; @ManyToOne(fetch = FetchType.LAZY) - @JoinColumn(name = "user_id") + @JoinColumns({ + @JoinColumn( + name = "user_id", + referencedColumnName = "id", + insertable = false, updatable = false + ), + @JoinColumn( + name = "partition_key", + referencedColumnName = "partition_key", + insertable = false, updatable = false + ) + }) private User user; public Long getId() { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/stateless/SpringStatelessSessionBatchingTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/stateless/SpringStatelessSessionBatchingTest.java index ad6bf16b6..22a087a22 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/stateless/SpringStatelessSessionBatchingTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/stateless/SpringStatelessSessionBatchingTest.java @@ -4,7 +4,7 @@ import com.vladmihalcea.hpjp.spring.stateless.config.SpringStatelessSessionBatchingConfiguration; import com.vladmihalcea.hpjp.spring.stateless.domain.Post; import com.vladmihalcea.hpjp.spring.stateless.service.ForumService; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/stateless/domain/NoOpGenerator.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/stateless/domain/NoOpGenerator.java index a739c6b87..5e5460120 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/stateless/domain/NoOpGenerator.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/stateless/domain/NoOpGenerator.java @@ -2,12 +2,11 @@ import org.hibernate.engine.spi.SharedSessionContractImplementor; import org.hibernate.id.IdentifierGenerator; -import org.hibernate.id.factory.spi.StandardGenerator; /** * @author Vlad Mihalcea */ -public class NoOpGenerator implements IdentifierGenerator, StandardGenerator { +public class NoOpGenerator implements IdentifierGenerator { @Override public Object generate(SharedSessionContractImplementor session, Object obj) { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/contract/ContractTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/contract/ContractTest.java index 714b799cc..abf448a19 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/contract/ContractTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/contract/ContractTest.java @@ -7,7 +7,7 @@ import com.vladmihalcea.hpjp.spring.transaction.contract.domain.Contract; import com.vladmihalcea.hpjp.spring.transaction.contract.domain.ContractSignature; import com.vladmihalcea.hpjp.spring.transaction.contract.repository.ContractRepository; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.transaction.TransactionException; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/hibernate/HibernateTransactionManagerTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/hibernate/HibernateTransactionManagerTest.java index 57527c305..25db9f686 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/hibernate/HibernateTransactionManagerTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/hibernate/HibernateTransactionManagerTest.java @@ -9,7 +9,7 @@ import com.vladmihalcea.hpjp.spring.transaction.hibernate.config.HibernateTransactionManagerConfiguration; import com.vladmihalcea.hpjp.spring.transaction.hibernate.service.ForumService; import org.hibernate.SessionFactory; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.transaction.TransactionException; @@ -17,8 +17,8 @@ import java.util.List; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/hibernate/config/HibernateTransactionManagerConfiguration.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/hibernate/config/HibernateTransactionManagerConfiguration.java index e3fa2e453..f2eb84636 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/hibernate/config/HibernateTransactionManagerConfiguration.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/hibernate/config/HibernateTransactionManagerConfiguration.java @@ -102,7 +102,6 @@ protected Properties additionalProperties() { "hibernate.session_factory.statement_inspector", new LoggingStatementInspector("com.vladmihalcea.hpjp.hibernate.transaction") ); - properties.setProperty(AvailableSettings.FLUSH_MODE, FlushMode.ALWAYS.name()); return properties; } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/hibernate/service/ForumServiceImpl.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/hibernate/service/ForumServiceImpl.java index 67c030805..a4dcb5d98 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/hibernate/service/ForumServiceImpl.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/hibernate/service/ForumServiceImpl.java @@ -15,7 +15,7 @@ import java.util.List; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/jpa/JPATransactionManagerTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/jpa/JPATransactionManagerTest.java index 51e14392e..7c2013888 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/jpa/JPATransactionManagerTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/jpa/JPATransactionManagerTest.java @@ -10,7 +10,7 @@ import com.vladmihalcea.hpjp.spring.transaction.jpa.repository.PostRepository; import com.vladmihalcea.hpjp.spring.transaction.jpa.repository.TagRepository; import com.vladmihalcea.hpjp.spring.transaction.jpa.service.ForumService; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.test.context.ContextConfiguration; @@ -19,8 +19,8 @@ import java.util.List; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/jpa/ResourceLocalReleaseAfterStatementTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/jpa/ResourceLocalReleaseAfterStatementTest.java index 6a7338117..1917c6a7b 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/jpa/ResourceLocalReleaseAfterStatementTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/jpa/ResourceLocalReleaseAfterStatementTest.java @@ -8,11 +8,11 @@ import com.vladmihalcea.hpjp.spring.common.AbstractSpringTest; import com.vladmihalcea.hpjp.spring.transaction.jpa.config.ResourceLocalReleaseAfterStatementConfiguration; import com.vladmihalcea.hpjp.spring.transaction.jpa.service.ReleaseAfterStatementForumService; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * This test case demonstrates what happens when you enable the AFTER_STATEMENT diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/jpa/service/ForumServiceImpl.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/jpa/service/ForumServiceImpl.java index bd967d7cc..e1026fcfd 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/jpa/service/ForumServiceImpl.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/jpa/service/ForumServiceImpl.java @@ -14,8 +14,8 @@ import java.util.List; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/jpa/service/ReleaseAfterStatementForumServiceImpl.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/jpa/service/ReleaseAfterStatementForumServiceImpl.java index 01e32f3a1..7a39ae552 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/jpa/service/ReleaseAfterStatementForumServiceImpl.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/jpa/service/ReleaseAfterStatementForumServiceImpl.java @@ -20,7 +20,7 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; -import static org.junit.Assert.assertNotEquals; +import static org.junit.jupiter.api.Assertions.assertNotEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/jta/atomikos/AromikosJTATransactionManagerTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/jta/atomikos/AromikosJTATransactionManagerTest.java index ebf22450f..b0df5e115 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/jta/atomikos/AromikosJTATransactionManagerTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/jta/atomikos/AromikosJTATransactionManagerTest.java @@ -9,7 +9,7 @@ import com.vladmihalcea.hpjp.spring.transaction.jta.atomikos.config.AtomikosJTATransactionManagerConfiguration; import com.vladmihalcea.hpjp.spring.transaction.jta.atomikos.dao.TagDAO; import com.vladmihalcea.hpjp.spring.transaction.jta.atomikos.service.ForumService; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.transaction.TransactionException; @@ -17,8 +17,8 @@ import java.util.List; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/jta/atomikos/service/ForumServiceImpl.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/jta/atomikos/service/ForumServiceImpl.java index 42c25ec81..e036b2d27 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/jta/atomikos/service/ForumServiceImpl.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/jta/atomikos/service/ForumServiceImpl.java @@ -14,7 +14,7 @@ import java.util.List; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/jta/narayana/NarayanaJTATransactionManagerTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/jta/narayana/NarayanaJTATransactionManagerTest.java index 1bc3d1662..64cdd38d3 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/jta/narayana/NarayanaJTATransactionManagerTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/jta/narayana/NarayanaJTATransactionManagerTest.java @@ -9,7 +9,7 @@ import com.vladmihalcea.hpjp.spring.transaction.jta.narayana.config.NarayanaJTATransactionManagerConfiguration; import com.vladmihalcea.hpjp.spring.transaction.jta.narayana.dao.TagDAO; import com.vladmihalcea.hpjp.spring.transaction.jta.narayana.service.ForumService; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.transaction.TransactionException; @@ -17,8 +17,8 @@ import java.util.List; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/jta/narayana/service/ForumServiceImpl.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/jta/narayana/service/ForumServiceImpl.java index eff41e87a..db34b0975 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/jta/narayana/service/ForumServiceImpl.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/jta/narayana/service/ForumServiceImpl.java @@ -14,7 +14,7 @@ import java.util.List; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/mdc/SpringMdcTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/mdc/SpringMdcTest.java index 246571d97..588183e22 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/mdc/SpringMdcTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/mdc/SpringMdcTest.java @@ -5,7 +5,7 @@ import com.vladmihalcea.hpjp.spring.common.domain.PostComment; import com.vladmihalcea.hpjp.spring.common.service.ForumService; import com.vladmihalcea.hpjp.spring.transaction.mdc.config.TransactionInfoMdcConfiguration; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.slf4j.MDC; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/readonly/SpringDataJPAReadOnlyLazyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/readonly/SpringDataJPAReadOnlyLazyTest.java index d88a93550..6c1fa8ef9 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/readonly/SpringDataJPAReadOnlyLazyTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/readonly/SpringDataJPAReadOnlyLazyTest.java @@ -5,7 +5,7 @@ import com.vladmihalcea.hpjp.spring.transaction.readonly.domain.Product; import com.vladmihalcea.hpjp.spring.transaction.readonly.service.ProductService; import com.vladmihalcea.hpjp.spring.transaction.readonly.service.fxrate.FxCurrency; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.transaction.TransactionException; @@ -13,7 +13,7 @@ import java.math.BigDecimal; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/readonly/SpringDataJPAReadOnlyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/readonly/SpringDataJPAReadOnlyTest.java index 8bc213dfb..6f85c78ec 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/readonly/SpringDataJPAReadOnlyTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/readonly/SpringDataJPAReadOnlyTest.java @@ -5,7 +5,7 @@ import com.vladmihalcea.hpjp.spring.transaction.readonly.domain.Product; import com.vladmihalcea.hpjp.spring.transaction.readonly.service.ProductService; import com.vladmihalcea.hpjp.spring.transaction.readonly.service.fxrate.FxCurrency; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.transaction.TransactionException; @@ -13,7 +13,7 @@ import java.math.BigDecimal; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/routing/TransactionRoutingDataSourceTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/routing/TransactionRoutingDataSourceTest.java index cc9873679..98995bd08 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/routing/TransactionRoutingDataSourceTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/routing/TransactionRoutingDataSourceTest.java @@ -5,7 +5,7 @@ import com.vladmihalcea.hpjp.hibernate.transaction.forum.PostDetails; import com.vladmihalcea.hpjp.hibernate.transaction.forum.Tag; import com.vladmihalcea.hpjp.spring.common.AbstractSpringTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/transfer/ACIDRaceConditionTransferTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/transfer/ACIDRaceConditionTransferTest.java index 1aa9503d9..a7d91e14f 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/transfer/ACIDRaceConditionTransferTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/transfer/ACIDRaceConditionTransferTest.java @@ -5,7 +5,7 @@ import com.vladmihalcea.hpjp.spring.transaction.transfer.domain.Account; import com.vladmihalcea.hpjp.spring.transaction.transfer.repository.AccountRepository; import com.vladmihalcea.hpjp.spring.transaction.transfer.service.TransferService; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.transaction.TransactionException; @@ -18,7 +18,7 @@ import java.util.stream.Collectors; import java.util.stream.IntStream; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/transfer/FlexyPoolACIDRaceConditionTransferTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/transfer/FlexyPoolACIDRaceConditionTransferTest.java index 0929a9a65..49f4299fc 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/transfer/FlexyPoolACIDRaceConditionTransferTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/transfer/FlexyPoolACIDRaceConditionTransferTest.java @@ -8,7 +8,7 @@ import com.vladmihalcea.hpjp.spring.transaction.transfer.service.TransferService; import com.zaxxer.hikari.HikariDataSource; import net.ttddyy.dsproxy.support.ProxyDataSource; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.transaction.TransactionException; @@ -18,7 +18,7 @@ import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/transfer/config/FlexyPoolACIDRaceConditionTransferConfiguration.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/transfer/config/FlexyPoolACIDRaceConditionTransferConfiguration.java index 8304892ad..0f2066ae4 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/transfer/config/FlexyPoolACIDRaceConditionTransferConfiguration.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/transfer/config/FlexyPoolACIDRaceConditionTransferConfiguration.java @@ -22,7 +22,7 @@ protected DataSource actualDataSource() { hikariConfig.setDataSource(dataSourceProvider().dataSource()); hikariConfig.setAutoCommit(false); hikariConfig.setMaximumPoolSize(1); - hikariConfig.setConnectionTimeout(150); + hikariConfig.setConnectionTimeout(250); HikariDataSource poolingDataSource = new HikariDataSource(hikariConfig); int maxOverflowPoolSize = 5; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/util/AbstractTest.java b/core/src/test/java/com/vladmihalcea/hpjp/util/AbstractTest.java index 93a9a80d7..75a34f503 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/util/AbstractTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/util/AbstractTest.java @@ -14,7 +14,6 @@ import net.steppschuh.markdowngenerator.table.Table; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; -import org.ehcache.core.spi.store.tiering.CachingTier; import org.ehcache.impl.internal.store.tiering.TieredStore; import org.ehcache.transactions.xa.internal.XAStore; import org.hibernate.*; @@ -27,7 +26,6 @@ import org.hibernate.boot.registry.StandardServiceRegistry; import org.hibernate.boot.registry.StandardServiceRegistryBuilder; import org.hibernate.boot.spi.MetadataImplementor; -import org.hibernate.cache.internal.QueryResultsCacheImpl; import org.hibernate.cache.jcache.internal.JCacheAccessImpl; import org.hibernate.cache.spi.entry.CollectionCacheEntry; import org.hibernate.cache.spi.entry.StandardCacheEntryImpl; @@ -44,8 +42,8 @@ import org.hibernate.stat.CacheRegionStatistics; import org.hibernate.stat.Statistics; import org.hibernate.usertype.UserType; -import org.junit.After; -import org.junit.Before; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -63,11 +61,11 @@ import java.util.function.Consumer; import java.util.stream.Collectors; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.fail; public abstract class AbstractTest { - public static final boolean ENABLE_LONG_RUNNING_TESTS = true; + public static final boolean ENABLE_LONG_RUNNING_TESTS = false; static { Thread.currentThread().setName("Alice"); @@ -89,7 +87,7 @@ public abstract class AbstractTest { private List closeables = new ArrayList<>(); - @Before + @BeforeEach public void init() { beforeInit(); if (nativeHibernateSessionFactoryBootstrap()) { @@ -108,7 +106,7 @@ protected void afterInit() { } - @After + @AfterEach public void destroy() { if (nativeHibernateSessionFactoryBootstrap()) { if (sf != null) { @@ -485,6 +483,43 @@ protected void doInHibernate(HibernateTransactionConsumer callable) { } } + protected void doInHibernate(HibernateTransactionConsumer callable, Consumer sessionBuilderConsumer) { + Session session = null; + Transaction txn = null; + try { + SessionBuilder sessionBuilder = sessionFactory().withOptions(); + sessionBuilderConsumer.accept(sessionBuilder); + session = sessionBuilder.openSession(); + callable.beforeTransactionCompletion(); + txn = session.beginTransaction(); + + callable.accept(session); + if (!txn.getRollbackOnly()) { + txn.commit(); + } else { + try { + txn.rollback(); + } catch (Exception e) { + LOGGER.error("Rollback failure", e); + } + } + } catch (Throwable t) { + if (txn != null && txn.isActive()) { + try { + txn.rollback(); + } catch (Exception e) { + LOGGER.error("Rollback failure", e); + } + } + throw t; + } finally { + callable.afterTransactionCompletion(); + if (session != null) { + session.close(); + } + } + } + protected T doInStatelessSession(HibernateStatelessTransactionFunction callable) { T result = null; StatelessSession session = null; @@ -907,12 +942,20 @@ protected void executeStatement(String... sqls) { } protected void executeStatement(Connection connection, String sql) { + executeStatement(connection, false, sql); + } + + protected void executeStatement(Connection connection, boolean silent, String sql) { try { try (Statement statement = connection.createStatement()) { statement.execute(sql); } } catch (SQLException e) { - throw new IllegalStateException(e); + if (silent) { + LOGGER.error("Statement failed", e); + } else { + throw new IllegalStateException(e); + } } } @@ -1108,13 +1151,15 @@ private void printCacheRegionStatisticsEntries(String regionName) { Map mapValue = (Map) cacheValue; cacheEntriesBuilder.append(mapValue); - } else if (cacheValue instanceof QueryResultsCacheImpl.CacheItem) { + } + /*else if (cacheValue instanceof QueryResultsCacheImpl.CacheItem) { QueryResultsCacheImpl.CacheItem queryValue = (QueryResultsCacheImpl.CacheItem) cacheValue; cacheEntriesBuilder.append( ToStringBuilder.reflectionToString(queryValue, ToStringStyle.SHORT_PREFIX_STYLE) ); - } else if (cacheValue instanceof StandardCacheEntryImpl) { + } */ + else if (cacheValue instanceof StandardCacheEntryImpl) { StandardCacheEntryImpl standardCacheEntry = (StandardCacheEntryImpl) cacheValue; cacheEntriesBuilder.append( diff --git a/core/src/test/java/com/vladmihalcea/hpjp/util/CryptoUtilsTest.java b/core/src/test/java/com/vladmihalcea/hpjp/util/CryptoUtilsTest.java index ea4c233fc..16bca0e3f 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/util/CryptoUtilsTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/util/CryptoUtilsTest.java @@ -5,7 +5,7 @@ import com.codahale.metrics.Timer; import com.vladmihalcea.hpjp.spring.transaction.readonly.config.stats.SpringTransactionStatisticsReport; import org.hibernate.internal.util.collections.BoundedConcurrentHashMap; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -13,7 +13,7 @@ import java.util.concurrent.TimeUnit; import java.util.stream.LongStream; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Vlad Mihalcea diff --git a/core/src/test/java/com/vladmihalcea/hpjp/util/DataSourceProviderIntegrationTest.java b/core/src/test/java/com/vladmihalcea/hpjp/util/DataSourceProviderIntegrationTest.java deleted file mode 100644 index 31a47ed75..000000000 --- a/core/src/test/java/com/vladmihalcea/hpjp/util/DataSourceProviderIntegrationTest.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.vladmihalcea.hpjp.util; - -import com.vladmihalcea.hpjp.util.providers.DataSourceProvider; -import com.vladmihalcea.hpjp.util.providers.Database; -import org.assertj.core.util.Arrays; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; - -/** - * @author Vlad Mihalcea - */ -@RunWith(Parameterized.class) -public abstract class DataSourceProviderIntegrationTest extends AbstractTest { - - private final DataSourceProvider dataSourceProvider; - - public DataSourceProviderIntegrationTest(DataSourceProvider dataSourceProvider) { - this.dataSourceProvider = dataSourceProvider; - } - - @Parameterized.Parameters - public static Collection databases() { - List databases = new ArrayList<>(); - return databases; - } - - @Override - protected Database database() { - return dataSourceProvider.database(); - } - - @Override - protected DataSourceProvider dataSourceProvider() { - return dataSourceProvider; - } -} diff --git a/core/src/test/java/com/vladmihalcea/hpjp/util/DatabaseIntegrationTest.java b/core/src/test/java/com/vladmihalcea/hpjp/util/DatabaseIntegrationTest.java new file mode 100644 index 000000000..c42aef828 --- /dev/null +++ b/core/src/test/java/com/vladmihalcea/hpjp/util/DatabaseIntegrationTest.java @@ -0,0 +1,40 @@ +package com.vladmihalcea.hpjp.util; + +import com.vladmihalcea.hpjp.util.providers.DataSourceProvider; +import com.vladmihalcea.hpjp.util.providers.Database; +import org.junit.jupiter.params.Parameter; +import org.junit.jupiter.params.ParameterizedClass; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; + +import java.util.stream.Stream; + +/** + * @author Vlad Mihalcea + */ +@ParameterizedClass +@MethodSource("parameters") +public abstract class DatabaseIntegrationTest extends AbstractTest { + + @Parameter + protected Database database; + + public static Stream parameters() { + return Stream.of( + Arguments.of(Database.ORACLE), + Arguments.of(Database.SQLSERVER), + Arguments.of(Database.POSTGRESQL), + Arguments.of(Database.MYSQL) + ); + } + + @Override + protected Database database() { + return database; + } + + @Override + protected DataSourceProvider dataSourceProvider() { + return database.dataSourceProvider(); + } +} diff --git a/core/src/test/java/com/vladmihalcea/hpjp/util/DatabaseProviderIntegrationTest.java b/core/src/test/java/com/vladmihalcea/hpjp/util/DatabaseProviderIntegrationTest.java index 4984eb106..50092ab51 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/util/DatabaseProviderIntegrationTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/util/DatabaseProviderIntegrationTest.java @@ -1,39 +1,35 @@ package com.vladmihalcea.hpjp.util; +import com.vladmihalcea.hpjp.util.providers.DataSourceProvider; import com.vladmihalcea.hpjp.util.providers.Database; -import org.assertj.core.util.Arrays; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; +import org.junit.jupiter.params.Parameter; +import org.junit.jupiter.params.ParameterizedClass; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; +import java.util.stream.Stream; /** * @author Vlad Mihalcea */ -@RunWith(Parameterized.class) +@ParameterizedClass +@MethodSource("parameters") public abstract class DatabaseProviderIntegrationTest extends AbstractTest { - private final Database database; + @Parameter + protected DataSourceProvider databaseSourceProvider; - public DatabaseProviderIntegrationTest(Database database) { - this.database = database; - } - - @Parameterized.Parameters - public static Collection databases() { - List databases = new ArrayList<>(); - databases.add(Arrays.array(Database.ORACLE)); - databases.add(Arrays.array(Database.SQLSERVER)); - databases.add(Arrays.array(Database.POSTGRESQL)); - databases.add(Arrays.array(Database.MYSQL)); - //databases.add(Arrays.array(Database.YUGABYTEDB)); - return databases; + public static Stream parameters() { + return Stream.of( + Arguments.of(Database.ORACLE.dataSourceProvider()), + Arguments.of(Database.SQLSERVER.dataSourceProvider()), + Arguments.of(Database.POSTGRESQL.dataSourceProvider()), + Arguments.of(Database.MYSQL.dataSourceProvider()) + ); } @Override protected Database database() { - return database; + return databaseSourceProvider.database(); } } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/util/PersistenceUnitInfoImpl.java b/core/src/test/java/com/vladmihalcea/hpjp/util/PersistenceUnitInfoImpl.java index d2a389d1b..94fc381de 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/util/PersistenceUnitInfoImpl.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/util/PersistenceUnitInfoImpl.java @@ -141,4 +141,14 @@ public void addTransformer(ClassTransformer transformer) { public ClassLoader getNewTempClassLoader() { return null; } + + @Override + public String getScopeAnnotationName() { + return null; + } + + @Override + public List getQualifierAnnotationNames() { + return List.of(); + } } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/util/providers/LegacyOracleDialect.java b/core/src/test/java/com/vladmihalcea/hpjp/util/providers/LegacyOracleDialect.java index fa18977a9..a5fbc5cb1 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/util/providers/LegacyOracleDialect.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/util/providers/LegacyOracleDialect.java @@ -2,7 +2,7 @@ import org.hibernate.dialect.DatabaseVersion; import org.hibernate.dialect.OracleDialect; -import org.hibernate.dialect.pagination.LegacyOracleLimitHandler; +import org.hibernate.community.dialect.pagination.LegacyOracleLimitHandler; import org.hibernate.dialect.pagination.LimitHandler; import org.hibernate.engine.jdbc.dialect.spi.DialectResolutionInfo; import org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorNoOpImpl; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/util/resources/CpuTest.java b/core/src/test/java/com/vladmihalcea/hpjp/util/resources/CpuTest.java index 56e8b0c9b..ce2155b58 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/util/resources/CpuTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/util/resources/CpuTest.java @@ -6,7 +6,7 @@ import com.vladmihalcea.hpjp.spring.transaction.readonly.config.stats.SpringTransactionStatisticsReport; import com.vladmihalcea.hpjp.util.AbstractTest; import com.vladmihalcea.hpjp.util.CryptoUtils; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/jooq/jooq-core/pom.xml b/jooq/jooq-core/pom.xml index 691349420..c1d87fade 100644 --- a/jooq/jooq-core/pom.xml +++ b/jooq/jooq-core/pom.xml @@ -57,7 +57,7 @@ junit junit - ${junit.version} + 4.12 diff --git a/jooq/jooq-mysql/src/test/java/com/vladmihalcea/hpjp/jooq/mysql/crud/BatchTest.java b/jooq/jooq-mysql/src/test/java/com/vladmihalcea/hpjp/jooq/mysql/crud/BatchTest.java index 27d535e15..6aae6f50b 100644 --- a/jooq/jooq-mysql/src/test/java/com/vladmihalcea/hpjp/jooq/mysql/crud/BatchTest.java +++ b/jooq/jooq-mysql/src/test/java/com/vladmihalcea/hpjp/jooq/mysql/crud/BatchTest.java @@ -3,8 +3,8 @@ import org.jooq.BatchBindStep; import org.jooq.Record; import org.jooq.Result; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import java.util.stream.Collectors; import java.util.stream.IntStream; @@ -58,7 +58,7 @@ public void testBatchingReturning() { }); } - @Test @Ignore("values(Collection) is not INSERT INTO ... VALUES ( (..) (..) (..) )") + @Test @Disabled("values(Collection) is not INSERT INTO ... VALUES ( (..) (..) (..) )") public void testBatchingWithCollection() { doInJOOQ(sql -> { sql.delete(POST).execute(); diff --git a/jooq/jooq-mysql/src/test/java/com/vladmihalcea/hpjp/jooq/mysql/crud/CrudTest.java b/jooq/jooq-mysql/src/test/java/com/vladmihalcea/hpjp/jooq/mysql/crud/CrudTest.java index c135aeaee..f8750e637 100644 --- a/jooq/jooq-mysql/src/test/java/com/vladmihalcea/hpjp/jooq/mysql/crud/CrudTest.java +++ b/jooq/jooq-mysql/src/test/java/com/vladmihalcea/hpjp/jooq/mysql/crud/CrudTest.java @@ -1,6 +1,6 @@ package com.vladmihalcea.hpjp.jooq.mysql.crud; -import org.junit.Test; +import org.junit.jupiter.api.Test; import static com.vladmihalcea.hpjp.jooq.mysql.schema.crud.Tables.POST; import static org.jooq.impl.DSL.field; diff --git a/jooq/jooq-mysql/src/test/java/com/vladmihalcea/hpjp/jooq/mysql/crud/HibernateFlushTest.java b/jooq/jooq-mysql/src/test/java/com/vladmihalcea/hpjp/jooq/mysql/crud/HibernateFlushTest.java index d6bed1fe2..2cc0ec964 100644 --- a/jooq/jooq-mysql/src/test/java/com/vladmihalcea/hpjp/jooq/mysql/crud/HibernateFlushTest.java +++ b/jooq/jooq-mysql/src/test/java/com/vladmihalcea/hpjp/jooq/mysql/crud/HibernateFlushTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.jooq.mysql.crud; import jakarta.persistence.*; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.List; diff --git a/jooq/jooq-mysql/src/test/java/com/vladmihalcea/hpjp/jooq/mysql/crud/InlineBindParametersTest.java b/jooq/jooq-mysql/src/test/java/com/vladmihalcea/hpjp/jooq/mysql/crud/InlineBindParametersTest.java index dfb7bbe43..0393dee28 100644 --- a/jooq/jooq-mysql/src/test/java/com/vladmihalcea/hpjp/jooq/mysql/crud/InlineBindParametersTest.java +++ b/jooq/jooq-mysql/src/test/java/com/vladmihalcea/hpjp/jooq/mysql/crud/InlineBindParametersTest.java @@ -4,7 +4,7 @@ import org.jooq.conf.Settings; import org.jooq.conf.StatementType; import org.jooq.impl.DSL; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.List; diff --git a/jooq/jooq-mysql/src/test/java/com/vladmihalcea/hpjp/jooq/mysql/crud/KeysetPaginationTest.java b/jooq/jooq-mysql/src/test/java/com/vladmihalcea/hpjp/jooq/mysql/crud/KeysetPaginationTest.java index a77b3ba87..aede80089 100644 --- a/jooq/jooq-mysql/src/test/java/com/vladmihalcea/hpjp/jooq/mysql/crud/KeysetPaginationTest.java +++ b/jooq/jooq-mysql/src/test/java/com/vladmihalcea/hpjp/jooq/mysql/crud/KeysetPaginationTest.java @@ -2,7 +2,7 @@ import org.jooq.Record3; import org.jooq.SelectSeekStep2; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.LocalDateTime; import java.util.List; diff --git a/jooq/jooq-mysql/src/test/java/com/vladmihalcea/hpjp/jooq/mysql/crud/SQLInjectionTest.java b/jooq/jooq-mysql/src/test/java/com/vladmihalcea/hpjp/jooq/mysql/crud/SQLInjectionTest.java index 9ec78fc18..3cea4fee3 100644 --- a/jooq/jooq-mysql/src/test/java/com/vladmihalcea/hpjp/jooq/mysql/crud/SQLInjectionTest.java +++ b/jooq/jooq-mysql/src/test/java/com/vladmihalcea/hpjp/jooq/mysql/crud/SQLInjectionTest.java @@ -2,7 +2,7 @@ import java.sql.Statement; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.jooq.DSLContext; import org.jooq.conf.Settings; diff --git a/jooq/jooq-mysql/src/test/java/com/vladmihalcea/hpjp/jooq/mysql/crud/StreamTest.java b/jooq/jooq-mysql/src/test/java/com/vladmihalcea/hpjp/jooq/mysql/crud/StreamTest.java index 84768920e..336b67063 100644 --- a/jooq/jooq-mysql/src/test/java/com/vladmihalcea/hpjp/jooq/mysql/crud/StreamTest.java +++ b/jooq/jooq-mysql/src/test/java/com/vladmihalcea/hpjp/jooq/mysql/crud/StreamTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.jooq.mysql.crud; import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.Test; import static com.vladmihalcea.hpjp.jooq.mysql.schema.crud.Tables.POST; import static com.vladmihalcea.hpjp.jooq.mysql.schema.crud.Tables.POST_COMMENT_DETAILS; diff --git a/jooq/jooq-mysql/src/test/java/com/vladmihalcea/hpjp/jooq/mysql/crud/UpsertAndGetConcurrencyTest.java b/jooq/jooq-mysql/src/test/java/com/vladmihalcea/hpjp/jooq/mysql/crud/UpsertAndGetConcurrencyTest.java index cef8f4f65..84b33b859 100644 --- a/jooq/jooq-mysql/src/test/java/com/vladmihalcea/hpjp/jooq/mysql/crud/UpsertAndGetConcurrencyTest.java +++ b/jooq/jooq-mysql/src/test/java/com/vladmihalcea/hpjp/jooq/mysql/crud/UpsertAndGetConcurrencyTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.jooq.mysql.schema.crud.tables.records.PostDetailsRecord; import com.vladmihalcea.hpjp.jooq.mysql.schema.crud.tables.records.PostRecord; import com.vladmihalcea.util.exception.ExceptionUtil; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.sql.Connection; import java.sql.SQLException; diff --git a/jooq/jooq-mysql/src/test/java/com/vladmihalcea/hpjp/jooq/mysql/crud/UpsertTest.java b/jooq/jooq-mysql/src/test/java/com/vladmihalcea/hpjp/jooq/mysql/crud/UpsertTest.java index 6e7039ea6..433e38ebd 100644 --- a/jooq/jooq-mysql/src/test/java/com/vladmihalcea/hpjp/jooq/mysql/crud/UpsertTest.java +++ b/jooq/jooq-mysql/src/test/java/com/vladmihalcea/hpjp/jooq/mysql/crud/UpsertTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.jooq.mysql.crud; import org.jooq.DSLContext; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.LocalDateTime; import java.util.concurrent.TimeUnit; diff --git a/jooq/jooq-pgsql-score/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/score/PostCommentFingerprintTest.java b/jooq/jooq-pgsql-score/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/score/PostCommentFingerprintTest.java index c00df24d0..ff40fde68 100644 --- a/jooq/jooq-pgsql-score/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/score/PostCommentFingerprintTest.java +++ b/jooq/jooq-pgsql-score/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/score/PostCommentFingerprintTest.java @@ -8,7 +8,7 @@ import org.jooq.CommonTableExpression; import org.jooq.DSLContext; import org.jooq.Record7; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.sql.Timestamp; diff --git a/jooq/jooq-pgsql-score/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/score/PostCommentScoreStoredProcedureTest.java b/jooq/jooq-pgsql-score/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/score/PostCommentScoreStoredProcedureTest.java index 6dfc8f7f4..4513a5eb7 100644 --- a/jooq/jooq-pgsql-score/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/score/PostCommentScoreStoredProcedureTest.java +++ b/jooq/jooq-pgsql-score/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/score/PostCommentScoreStoredProcedureTest.java @@ -5,7 +5,7 @@ import com.vladmihalcea.hpjp.jooq.pgsql.score.transformer.PostCommentScoreResultTransformer; import com.vladmihalcea.hpjp.jooq.pgsql.score.transformer.PostCommentScoreRootTransformer; import org.hibernate.query.NativeQuery; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.util.Date; diff --git a/jooq/jooq-pgsql-score/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/score/PostCommentScoreTest.java b/jooq/jooq-pgsql-score/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/score/PostCommentScoreTest.java index 4be0bc552..54b567590 100644 --- a/jooq/jooq-pgsql-score/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/score/PostCommentScoreTest.java +++ b/jooq/jooq-pgsql-score/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/score/PostCommentScoreTest.java @@ -7,7 +7,7 @@ import org.jooq.CommonTableExpression; import org.jooq.DSLContext; import org.jooq.Record7; -import org.junit.Test; +import org.junit.jupiter.api.Test; import jakarta.persistence.*; import java.sql.Timestamp; diff --git a/jooq/jooq-pgsql/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/batching/BatchTest.java b/jooq/jooq-pgsql/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/batching/BatchTest.java index 6eff17a41..7da33d03d 100644 --- a/jooq/jooq-pgsql/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/batching/BatchTest.java +++ b/jooq/jooq-pgsql/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/batching/BatchTest.java @@ -4,7 +4,7 @@ import org.jooq.BatchBindStep; import org.jooq.Record; import org.jooq.Result; -import org.junit.Test; +import org.junit.jupiter.api.Test; import static com.vladmihalcea.hpjp.jooq.pgsql.schema.crud.Tables.POST; import static org.junit.Assert.assertEquals; diff --git a/jooq/jooq-pgsql/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/crud/CrudTest.java b/jooq/jooq-pgsql/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/crud/CrudTest.java index 02d070077..3b503a30d 100644 --- a/jooq/jooq-pgsql/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/crud/CrudTest.java +++ b/jooq/jooq-pgsql/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/crud/CrudTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.jooq.pgsql.crud; import com.vladmihalcea.hpjp.jooq.pgsql.util.AbstractJOOQPostgreSQLIntegrationTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import static com.vladmihalcea.hpjp.jooq.pgsql.schema.crud.Tables.POST; import static org.jooq.impl.DSL.field; diff --git a/jooq/jooq-pgsql/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/crud/SQLInjectionTest.java b/jooq/jooq-pgsql/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/crud/SQLInjectionTest.java index c9e421986..b370ffd11 100644 --- a/jooq/jooq-pgsql/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/crud/SQLInjectionTest.java +++ b/jooq/jooq-pgsql/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/crud/SQLInjectionTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.jooq.pgsql.crud; import com.vladmihalcea.hpjp.jooq.pgsql.util.AbstractJOOQPostgreSQLIntegrationTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.jooq.DSLContext; import org.jooq.conf.Settings; diff --git a/jooq/jooq-pgsql/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/fetching/StreamTest.java b/jooq/jooq-pgsql/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/fetching/StreamTest.java index db08b6d0f..91696c0ef 100644 --- a/jooq/jooq-pgsql/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/fetching/StreamTest.java +++ b/jooq/jooq-pgsql/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/fetching/StreamTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.jooq.pgsql.schema.crud.tables.records.PostCommentDetailsRecord; import com.vladmihalcea.hpjp.jooq.pgsql.util.AbstractJOOQPostgreSQLIntegrationTest; import org.hibernate.Session; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.*; import java.util.stream.Stream; diff --git a/jooq/jooq-pgsql/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/functions/qa/QuestionAndAnswerTest.java b/jooq/jooq-pgsql/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/functions/qa/QuestionAndAnswerTest.java index e62cfebe4..fab746ca9 100644 --- a/jooq/jooq-pgsql/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/functions/qa/QuestionAndAnswerTest.java +++ b/jooq/jooq-pgsql/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/functions/qa/QuestionAndAnswerTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.jooq.pgsql.schema.crud.tables.records.GetUpdatedQuestionsAndAnswersRecord; import com.vladmihalcea.hpjp.jooq.pgsql.util.AbstractJOOQPostgreSQLIntegrationTest; import org.jooq.Result; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.LocalDateTime; import java.util.ArrayList; diff --git a/jooq/jooq-pgsql/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/pagination/KeysetPaginationTest.java b/jooq/jooq-pgsql/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/pagination/KeysetPaginationTest.java index 6ae625321..352a90430 100644 --- a/jooq/jooq-pgsql/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/pagination/KeysetPaginationTest.java +++ b/jooq/jooq-pgsql/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/pagination/KeysetPaginationTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.jooq.pgsql.util.AbstractJOOQPostgreSQLIntegrationTest; import org.jooq.Record3; import org.jooq.SelectSeekStep2; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.LocalDateTime; import java.util.List; diff --git a/jooq/jooq-pgsql/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/upsert/UpsertAndGetConcurrencyTest.java b/jooq/jooq-pgsql/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/upsert/UpsertAndGetConcurrencyTest.java index c883a11fc..f82e3aed1 100644 --- a/jooq/jooq-pgsql/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/upsert/UpsertAndGetConcurrencyTest.java +++ b/jooq/jooq-pgsql/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/upsert/UpsertAndGetConcurrencyTest.java @@ -4,7 +4,7 @@ import com.vladmihalcea.hpjp.jooq.pgsql.schema.crud.tables.records.PostRecord; import com.vladmihalcea.hpjp.jooq.pgsql.util.AbstractJOOQPostgreSQLIntegrationTest; import com.vladmihalcea.util.exception.ExceptionUtil; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.LocalDateTime; import java.util.concurrent.CountDownLatch; diff --git a/jooq/jooq-pgsql/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/upsert/UpsertAndGetTest.java b/jooq/jooq-pgsql/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/upsert/UpsertAndGetTest.java index d08e146f4..b6160308c 100644 --- a/jooq/jooq-pgsql/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/upsert/UpsertAndGetTest.java +++ b/jooq/jooq-pgsql/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/upsert/UpsertAndGetTest.java @@ -3,7 +3,7 @@ import com.vladmihalcea.hpjp.jooq.pgsql.schema.crud.tables.records.PostDetailsRecord; import com.vladmihalcea.hpjp.jooq.pgsql.util.AbstractJOOQPostgreSQLIntegrationTest; import org.jooq.DSLContext; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.LocalDateTime; diff --git a/jooq/jooq-pgsql/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/upsert/UpsertTest.java b/jooq/jooq-pgsql/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/upsert/UpsertTest.java index 74577b1dc..0014c4d32 100644 --- a/jooq/jooq-pgsql/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/upsert/UpsertTest.java +++ b/jooq/jooq-pgsql/src/test/java/com/vladmihalcea/hpjp/jooq/pgsql/upsert/UpsertTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.jooq.pgsql.util.AbstractJOOQPostgreSQLIntegrationTest; import org.jooq.DSLContext; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.LocalDateTime; import java.util.concurrent.TimeUnit; diff --git a/pom.xml b/pom.xml index 531dac97f..551d0e93c 100644 --- a/pom.xml +++ b/pom.xml @@ -299,7 +299,7 @@ io.hypersistence - hypersistence-utils-hibernate-63 + hypersistence-utils-hibernate-71 ${hypersistence-utils.version} @@ -412,16 +412,16 @@ - junit - junit + org.junit.jupiter + junit-jupiter-api ${junit.version} test - org.junit.vintage - junit-vintage-engine - ${junit-vintage.engine.version} + org.junit.jupiter + junit-jupiter-engine + ${junit.version} test @@ -500,8 +500,8 @@ 2.0.13 1.5.6 3.17.0 - 3.1.0 - 6.6.33.Final + 3.2.0 + 7.1.10.Final 6.2.5.Final 3.18.1-GA 3.10.8 @@ -530,21 +530,20 @@ 3.1.0 1.9.19 - 6.2.11 - 3.5.4 + 6.2.13 + 3.5.6 2.14.3 6.4.4 - 3.9.2 + 3.13.1 2.1.4 - 1.6.13 + 1.6.17 2.8.1 - 4.13.2 - 5.10.3 + 5.13.4 4.13.1 From 7c0c4c77bbdc441ab802c8bbcb1cb86a367486f0 Mon Sep 17 00:00:00 2001 From: Vlad Mihalcea Date: Tue, 2 Dec 2025 22:11:50 +0200 Subject: [PATCH 2/3] Upgrade to Hibernate 7.2, Spring Framework 7 and Spring Data JPA 4 --- .../LockModePessimisticReadWriteTest.java | 3 +- .../DataSourceProxyConnectionProvider.java | 4 +- .../DriverManagerConnectionProviderTest.java | 4 +- .../JPADataSourceConnectionProviderTest.java | 4 +- .../HiloPooledDefaultSwitchTest.java | 2 +- .../spring/service/CampaignServiceImpl.java | 2 +- .../multitenancy/CatalogMultitenancyTest.java | 5 ++- .../multitenancy/SchemaMultitenancyTest.java | 4 +- ...DataJPARuntimeBytecodeEnhancementTest.java | 14 ++++++- ...ntimeBytecodeEnhancementConfiguration.java | 3 +- ...ernateTransactionManagerConfiguration.java | 4 +- ...MonitoringHibernateTransactionManager.java | 2 +- ...=> AtomikosJTATransactionManagerTest.java} | 2 +- .../vladmihalcea/hpjp/util/AbstractTest.java | 40 ++++++++++--------- pom.xml | 29 ++++++++++++-- 15 files changed, 80 insertions(+), 42 deletions(-) rename core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/jta/atomikos/{AromikosJTATransactionManagerTest.java => AtomikosJTATransactionManagerTest.java} (97%) diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/LockModePessimisticReadWriteTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/LockModePessimisticReadWriteTest.java index 5ab81460b..2039b2ade 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/LockModePessimisticReadWriteTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/concurrency/LockModePessimisticReadWriteTest.java @@ -121,7 +121,8 @@ public void testPessimisticWriteAfterFetchWithDetachedForHibernate() { }); doInJPA(entityManager -> { LOGGER.info("Lock and reattach"); - entityManager.unwrap(Session.class).lock(post, LockMode.PESSIMISTIC_WRITE); + Post mergedPost = entityManager.merge(post); + entityManager.unwrap(Session.class).lock(mergedPost, LockMode.PESSIMISTIC_WRITE); post.setTitle("High-Performance Hibernate"); }); } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/DataSourceProxyConnectionProvider.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/DataSourceProxyConnectionProvider.java index ace6ef64f..4c20fc339 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/DataSourceProxyConnectionProvider.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/DataSourceProxyConnectionProvider.java @@ -2,7 +2,7 @@ import net.ttddyy.dsproxy.listener.logging.SLF4JQueryLoggingListener; import net.ttddyy.dsproxy.support.ProxyDataSourceBuilder; -import org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl; +import org.hibernate.engine.jdbc.connections.internal.DataSourceConnectionProvider; import javax.sql.DataSource; import java.util.Map; @@ -10,7 +10,7 @@ /** * @author Vlad Mihalcea */ -public class DataSourceProxyConnectionProvider extends DatasourceConnectionProviderImpl { +public class DataSourceProxyConnectionProvider extends DataSourceConnectionProvider { @Override public void configure(Map configValues) { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/DriverManagerConnectionProviderTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/DriverManagerConnectionProviderTest.java index f010cbbdf..37d0fa692 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/DriverManagerConnectionProviderTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/DriverManagerConnectionProviderTest.java @@ -2,7 +2,7 @@ import com.vladmihalcea.hpjp.util.providers.DataSourceProvider; import com.vladmihalcea.hpjp.util.providers.SQLServerDataSourceProvider; -import org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl; +import org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProvider; import org.hibernate.engine.jdbc.connections.spi.ConnectionProvider; import org.junit.jupiter.api.Test; @@ -34,7 +34,7 @@ protected void appendDriverProperties(Properties properties) { @Override public Class expectedConnectionProviderClass() { - return DriverManagerConnectionProviderImpl.class; + return DriverManagerConnectionProvider.class; } @Test diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/JPADataSourceConnectionProviderTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/JPADataSourceConnectionProviderTest.java index 55f46475f..3ad1efff9 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/JPADataSourceConnectionProviderTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/connection/JPADataSourceConnectionProviderTest.java @@ -1,7 +1,7 @@ package com.vladmihalcea.hpjp.hibernate.connection; import com.vladmihalcea.hpjp.util.PersistenceUnitInfoImpl; -import org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl; +import org.hibernate.engine.jdbc.connections.internal.DataSourceConnectionProvider; import org.hibernate.engine.jdbc.connections.spi.ConnectionProvider; import java.util.Properties; @@ -14,7 +14,7 @@ protected void appendDriverProperties(Properties properties) { @Override public Class expectedConnectionProviderClass() { - return DatasourceConnectionProviderImpl.class; + return DataSourceConnectionProvider.class; } @Override diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/HiloPooledDefaultSwitchTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/HiloPooledDefaultSwitchTest.java index d188573e6..9ca89083a 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/HiloPooledDefaultSwitchTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/identifier/HiloPooledDefaultSwitchTest.java @@ -32,7 +32,7 @@ public void testDefaultSwitch() { fail("Should have thrown MappingException"); } catch (Exception e) { assertEquals( - "The increment size of the [post_sequence] sequence is set to [3] in the entity mapping while the associated database sequence increment size is [1].", + "The increment size of the [post_sequence] sequence is set to [3] in the entity mapping but the mapped database sequence increment size is [1]", ExceptionUtil.rootCause(e).getMessage() ); } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/spring/service/CampaignServiceImpl.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/spring/service/CampaignServiceImpl.java index d847b97c9..ff56f2288 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/spring/service/CampaignServiceImpl.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/inheritance/spring/service/CampaignServiceImpl.java @@ -3,11 +3,11 @@ import com.vladmihalcea.hpjp.hibernate.inheritance.spring.dao.SubscriberDAO; import com.vladmihalcea.hpjp.hibernate.inheritance.spring.model.Subscriber; import com.vladmihalcea.hpjp.hibernate.inheritance.spring.service.sender.CampaignSender; +import jakarta.annotation.PostConstruct; import jakarta.transaction.Transactional; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import javax.annotation.PostConstruct; import java.util.HashMap; import java.util.List; import java.util.Map; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/multitenancy/CatalogMultitenancyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/multitenancy/CatalogMultitenancyTest.java index 9102e2884..f9a47be5f 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/multitenancy/CatalogMultitenancyTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/multitenancy/CatalogMultitenancyTest.java @@ -9,7 +9,8 @@ import org.hibernate.annotations.CreationTimestamp; import org.hibernate.cfg.AvailableSettings; import org.hibernate.cfg.Environment; -import org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl; +import org.hibernate.engine.jdbc.connections.internal.DataSourceConnectionProvider; +import org.hibernate.engine.jdbc.connections.internal.DataSourceConnectionProvider; import org.junit.jupiter.api.Test; import javax.sql.DataSource; @@ -85,7 +86,7 @@ private void addTenantConnectionProvider(String tenantId) { } private void addTenantConnectionProvider(String tenantId, DataSource tenantDataSource, Map properties) { - DatasourceConnectionProviderImpl connectionProvider = new DatasourceConnectionProviderImpl(); + DataSourceConnectionProvider connectionProvider = new DataSourceConnectionProvider(); connectionProvider.setDataSource(tenantDataSource); connectionProvider.configure(properties); MultiTenantConnectionProvider.INSTANCE.getConnectionProviderMap().put( diff --git a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/multitenancy/SchemaMultitenancyTest.java b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/multitenancy/SchemaMultitenancyTest.java index 267b7da79..a7951bfbd 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/hibernate/multitenancy/SchemaMultitenancyTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/hibernate/multitenancy/SchemaMultitenancyTest.java @@ -7,7 +7,7 @@ import org.hibernate.annotations.CreationTimestamp; import org.hibernate.cfg.AvailableSettings; import org.hibernate.cfg.Environment; -import org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl; +import org.hibernate.engine.jdbc.connections.internal.DataSourceConnectionProvider; import org.junit.jupiter.api.Test; import org.postgresql.ds.PGSimpleDataSource; @@ -94,7 +94,7 @@ private void addTenantConnectionProvider(String tenantId) { } private void addTenantConnectionProvider(String tenantId, DataSource tenantDataSource, Map properties) { - DatasourceConnectionProviderImpl connectionProvider = new DatasourceConnectionProviderImpl(); + DataSourceConnectionProvider connectionProvider = new DataSourceConnectionProvider(); connectionProvider.setDataSource(tenantDataSource); connectionProvider.configure(properties); MultiTenantConnectionProvider.INSTANCE.getConnectionProviderMap().put( diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/bytecode/SpringDataJPARuntimeBytecodeEnhancementTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/bytecode/SpringDataJPARuntimeBytecodeEnhancementTest.java index b5a9a1a2c..835c276df 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/bytecode/SpringDataJPARuntimeBytecodeEnhancementTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/bytecode/SpringDataJPARuntimeBytecodeEnhancementTest.java @@ -4,6 +4,7 @@ import com.vladmihalcea.hpjp.spring.common.AbstractSpringTest; import com.vladmihalcea.hpjp.spring.data.bytecode.config.SpringDataJPARuntimeBytecodeEnhancementConfiguration; import com.vladmihalcea.hpjp.spring.data.bytecode.repository.AttachmentRepository; +import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; @@ -13,6 +14,7 @@ /** * @author Vlad Mihalcea */ +@Disabled @ContextConfiguration(classes = SpringDataJPARuntimeBytecodeEnhancementConfiguration.class) public class SpringDataJPARuntimeBytecodeEnhancementTest extends AbstractSpringTest { @@ -29,7 +31,17 @@ protected Class[] entities() { /* * Run like this: * - * java -Djavaagent=d:/.m2/repository/org/springframework/spring-instrument/6.2.14/spring-instrument-6.2.14.jar + + org.apache.maven.plugins + maven-surefire-plugin + ${maven-surefire-plugin.version} + + -javaagent:d:/.m2/repository/org/springframework/spring-instrument/6.2.14/spring-instrument-6.2.14.jar + + true + + + */ @Test public void test() throws URISyntaxException { diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/bytecode/config/SpringDataJPARuntimeBytecodeEnhancementConfiguration.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/bytecode/config/SpringDataJPARuntimeBytecodeEnhancementConfiguration.java index d9d6873b5..30c8b7b96 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/data/bytecode/config/SpringDataJPARuntimeBytecodeEnhancementConfiguration.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/data/bytecode/config/SpringDataJPARuntimeBytecodeEnhancementConfiguration.java @@ -32,7 +32,7 @@ protected String packageToScan() { } public Database database() { - return Database.MYSQL; + return Database.POSTGRESQL; } @Override @@ -40,6 +40,5 @@ protected void additionalProperties(Properties properties) { super.additionalProperties(properties); properties.put("hibernate.jdbc.batch_size", "100"); properties.put("hibernate.order_inserts", "true"); - properties.put(BytecodeSettings.ENHANCER_ENABLE_DIRTY_TRACKING, "false"); } } diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/hibernate/config/HibernateTransactionManagerConfiguration.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/hibernate/config/HibernateTransactionManagerConfiguration.java index f2eb84636..dc895b0ca 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/hibernate/config/HibernateTransactionManagerConfiguration.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/hibernate/config/HibernateTransactionManagerConfiguration.java @@ -19,8 +19,8 @@ import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.EnableAspectJAutoProxy; -import org.springframework.orm.hibernate5.HibernateTransactionManager; -import org.springframework.orm.hibernate5.LocalSessionFactoryBean; +import org.springframework.orm.jpa.hibernate.HibernateTransactionManager; +import org.springframework.orm.jpa.hibernate.LocalSessionFactoryBean; import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; import org.springframework.transaction.annotation.EnableTransactionManagement; import org.springframework.transaction.support.TransactionTemplate; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/hibernate/config/MonitoringHibernateTransactionManager.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/hibernate/config/MonitoringHibernateTransactionManager.java index 75cc0f75b..71f02bb18 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/hibernate/config/MonitoringHibernateTransactionManager.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/hibernate/config/MonitoringHibernateTransactionManager.java @@ -5,7 +5,7 @@ import org.hibernate.Session; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.orm.hibernate5.HibernateTransactionManager; +import org.springframework.orm.jpa.hibernate.HibernateTransactionManager; import org.springframework.transaction.TransactionDefinition; import java.util.concurrent.atomic.LongAdder; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/jta/atomikos/AromikosJTATransactionManagerTest.java b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/jta/atomikos/AtomikosJTATransactionManagerTest.java similarity index 97% rename from core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/jta/atomikos/AromikosJTATransactionManagerTest.java rename to core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/jta/atomikos/AtomikosJTATransactionManagerTest.java index b0df5e115..5c9cb0526 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/jta/atomikos/AromikosJTATransactionManagerTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/spring/transaction/jta/atomikos/AtomikosJTATransactionManagerTest.java @@ -24,7 +24,7 @@ * @author Vlad Mihalcea */ @ContextConfiguration(classes = AtomikosJTATransactionManagerConfiguration.class) -public class AromikosJTATransactionManagerTest extends AbstractSpringTest { +public class AtomikosJTATransactionManagerTest extends AbstractSpringTest { @Autowired private ForumService forumService; diff --git a/core/src/test/java/com/vladmihalcea/hpjp/util/AbstractTest.java b/core/src/test/java/com/vladmihalcea/hpjp/util/AbstractTest.java index 75a34f503..8328ba6f4 100644 --- a/core/src/test/java/com/vladmihalcea/hpjp/util/AbstractTest.java +++ b/core/src/test/java/com/vladmihalcea/hpjp/util/AbstractTest.java @@ -26,7 +26,13 @@ import org.hibernate.boot.registry.StandardServiceRegistry; import org.hibernate.boot.registry.StandardServiceRegistryBuilder; import org.hibernate.boot.spi.MetadataImplementor; +import org.hibernate.cache.internal.EnabledCaching; +import org.hibernate.cache.internal.QueryResultsCacheImpl; import org.hibernate.cache.jcache.internal.JCacheAccessImpl; +import org.hibernate.cache.spi.CacheImplementor; +import org.hibernate.cache.spi.QueryResultsCache; +import org.hibernate.cache.spi.QueryResultsRegion; +import org.hibernate.cache.spi.Region; import org.hibernate.cache.spi.entry.CollectionCacheEntry; import org.hibernate.cache.spi.entry.StandardCacheEntryImpl; import org.hibernate.cache.spi.support.*; @@ -1103,18 +1109,12 @@ protected void printCacheRegionStatistics(String region) { private void printCacheRegionStatisticsEntries(String regionName) { SessionFactory sessionFactory = sessionFactory(); Statistics statistics = sessionFactory.getStatistics(); - if (sessionFactory.getSessionFactoryOptions().isQueryCacheEnabled()) { - ReflectionUtils.invokeMethod(statistics, "getQueryRegionStats", "default-query-results-region"); - } - CacheRegionStatistics cacheRegionStatistics = "default-query-results-region".equals(regionName) ? - statistics.getQueryRegionStatistics(regionName) : - statistics.getDomainDataRegionStatistics(regionName); + CacheRegionStatistics cacheRegionStatistics = statistics.getCacheRegionStatistics(regionName); if (cacheRegionStatistics != null) { - AbstractRegion region = ReflectionUtils.getFieldValue(cacheRegionStatistics, "region"); - - StorageAccess storageAccess = getStorageAccess(region); + CacheImplementor cacheImplementor = ReflectionUtils.getFieldValue(statistics, "cache"); + StorageAccess storageAccess = getStorageAccess(cacheImplementor, regionName); org.ehcache.core.Ehcache cache = getEhcache(storageAccess); if (cache != null) { @@ -1214,16 +1214,20 @@ private org.ehcache.core.Ehcache getEhcache(StorageAccess storageAccess) { return ReflectionUtils.getFieldValue(cacheHolder, "ehCache"); } - - private StorageAccess getStorageAccess(AbstractRegion region) { - if (region instanceof DirectAccessRegionTemplate) { - DirectAccessRegionTemplate directAccessRegionTemplate = (DirectAccessRegionTemplate) region; - return directAccessRegionTemplate.getStorageAccess(); - } else if (region instanceof DomainDataRegionTemplate) { - DomainDataRegionTemplate domainDataRegionTemplate = (DomainDataRegionTemplate) region; - return domainDataRegionTemplate.getCacheStorageAccess(); + private StorageAccess getStorageAccess(CacheImplementor cacheImplementor, String regionName) { + Region cacheRegion = null; + Region region = cacheImplementor.getRegion(regionName); + if(region instanceof DomainDataRegionImpl) { + cacheRegion = region; + } + if (regionName.equals("default-query-results-region")) { + QueryResultsCache queryResultsCache = cacheImplementor.getDefaultQueryResultsCache(); + cacheRegion = queryResultsCache.getRegion(); + } + if (cacheRegion != null) { + return ReflectionUtils.getFieldValue(cacheRegion, "storageAccess"); } - throw new IllegalArgumentException("Unsupported region: " + region); + throw new IllegalArgumentException("Unsupported region: " + regionName); } public static String stringValue(Object value) { diff --git a/pom.xml b/pom.xml index 551d0e93c..f5ad948f6 100644 --- a/pom.xml +++ b/pom.xml @@ -89,6 +89,10 @@ log4j log4j + + junit + junit + @@ -425,6 +429,20 @@ test + + org.junit.platform + junit-platform-launcher + ${junit.version} + test + + + + org.junit.jupiter + junit-jupiter-params + ${junit.version} + test + + org.springframework spring-test @@ -501,7 +519,7 @@ 1.5.6 3.17.0 3.2.0 - 7.1.10.Final + 7.2.0.CR3 6.2.5.Final 3.18.1-GA 3.10.8 @@ -530,8 +548,8 @@ 3.1.0 1.9.19 - 6.2.13 - 3.5.6 + 7.0.1 + 4.0.0 2.14.3 @@ -543,7 +561,7 @@ 2.8.1 - 5.13.4 + 6.0.1 4.13.1 @@ -575,6 +593,9 @@ ${maven-surefire-plugin.version} ${argLine} + + true + From 7f4f8b1719cdfe918c2bcc38a77022a7bf8bec51 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 3 Dec 2025 14:58:09 +0000 Subject: [PATCH 3/3] Bump junit:junit from 4.12 to 4.13.1 in /jooq/jooq-core Bumps [junit:junit](https://github.com/junit-team/junit4) from 4.12 to 4.13.1. - [Release notes](https://github.com/junit-team/junit4/releases) - [Changelog](https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.12.md) - [Commits](https://github.com/junit-team/junit4/compare/r4.12...r4.13.1) --- updated-dependencies: - dependency-name: junit:junit dependency-version: 4.13.1 dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- jooq/jooq-core/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jooq/jooq-core/pom.xml b/jooq/jooq-core/pom.xml index c1d87fade..fd511dac3 100644 --- a/jooq/jooq-core/pom.xml +++ b/jooq/jooq-core/pom.xml @@ -57,7 +57,7 @@ junit junit - 4.12 + 4.13.1