├── ebean-core ├── src │ ├── test │ │ ├── resources │ │ │ ├── ebean.mf │ │ │ └── META-INF │ │ │ │ └── test │ │ │ │ ├── test-one.mf │ │ │ │ ├── test-some.mf │ │ │ │ ├── test-entity-packages.mf │ │ │ │ ├── test-agent-only-use.mf │ │ │ │ └── test-combined.mf │ │ └── java │ │ │ ├── org │ │ │ └── tests │ │ │ │ ├── model │ │ │ │ ├── basic │ │ │ │ │ ├── enums │ │ │ │ │ │ └── MySex.java │ │ │ │ │ ├── IntEnum.java │ │ │ │ │ └── VarcharEnum.java │ │ │ │ ├── ivo │ │ │ │ │ └── SysTime.java │ │ │ │ ├── bridge │ │ │ │ │ ├── BUser.java │ │ │ │ │ └── BSite.java │ │ │ │ └── embedded │ │ │ │ │ └── Eembeddable.java │ │ │ │ └── inheritance │ │ │ │ └── model │ │ │ │ └── AbstractBaseClass.java │ │ │ └── io │ │ │ └── ebeaninternal │ │ │ └── server │ │ │ ├── core │ │ │ └── HelpDefaultCallOriginFactory.java │ │ │ └── type │ │ │ └── ScalarTypeTimeZoneTest.java │ └── main │ │ ├── java │ │ └── io │ │ │ ├── ebeaninternal │ │ │ ├── api │ │ │ │ ├── package-info.java │ │ │ │ ├── SpiNamedParam.java │ │ │ │ ├── SpiTransactionScopeManager.java │ │ │ │ ├── LoadManyContext.java │ │ │ │ ├── SpiSqlQuery.java │ │ │ │ ├── SpiCacheRegion.java │ │ │ │ ├── SpiCallableSql.java │ │ │ │ ├── SpiBeanTypeManager.java │ │ │ │ ├── SpiProfileTransactionEvent.java │ │ │ │ ├── FormulaBuilder.java │ │ │ │ ├── SpiDdlGeneratorProvider.java │ │ │ │ ├── SpiLoggerFactory.java │ │ │ │ ├── ConcurrencyMode.java │ │ │ │ ├── SpiExpressionFactory.java │ │ │ │ ├── SpiBackgroundExecutor.java │ │ │ │ ├── NaturalKeyEq.java │ │ │ │ ├── GeoTypeProvider.java │ │ │ │ ├── NaturalKeyEntry.java │ │ │ │ └── SpiDdlGenerator.java │ │ │ ├── server │ │ │ │ ├── el │ │ │ │ │ ├── package-info.java │ │ │ │ │ └── ElMatcher.java │ │ │ │ ├── cache │ │ │ │ │ ├── package-info.java │ │ │ │ │ └── CacheChange.java │ │ │ │ ├── query │ │ │ │ │ ├── package-info.java │ │ │ │ │ └── SqlTreeJoin.java │ │ │ │ ├── querydefn │ │ │ │ │ └── package-info.java │ │ │ │ ├── loadcontext │ │ │ │ │ └── package-info.java │ │ │ │ ├── type │ │ │ │ │ ├── ModifyAwareType.java │ │ │ │ │ ├── ScalarTypeArray.java │ │ │ │ │ ├── package.html │ │ │ │ │ ├── ScalarTypeLogicalType.java │ │ │ │ │ ├── LocalEncryptedType.java │ │ │ │ │ ├── ScalarTypeLongVarchar.java │ │ │ │ │ ├── GeoTypeBinder.java │ │ │ │ │ └── ScalarTypeString.java │ │ │ │ ├── grammer │ │ │ │ │ ├── EqlValueType.java │ │ │ │ │ └── NamedParameter.java │ │ │ │ ├── core │ │ │ │ │ ├── EncryptAlias.java │ │ │ │ │ ├── package.html │ │ │ │ │ ├── RowReader.java │ │ │ │ │ ├── CallOriginFactory.java │ │ │ │ │ ├── InternString.java │ │ │ │ │ └── timezone │ │ │ │ │ │ └── NoDataTimeZone.java │ │ │ │ ├── expression │ │ │ │ │ ├── UnsupportedDocStoreExpression.java │ │ │ │ │ └── SubQueryOp.java │ │ │ │ ├── deploy │ │ │ │ │ ├── generatedproperty │ │ │ │ │ │ ├── GeneratedWhenCreated.java │ │ │ │ │ │ ├── GeneratedWhenModified.java │ │ │ │ │ │ └── package.html │ │ │ │ │ ├── ElementHelp.java │ │ │ │ │ ├── id │ │ │ │ │ │ └── package.html │ │ │ │ │ ├── parse │ │ │ │ │ │ ├── package.html │ │ │ │ │ │ └── InitMetaJacksonAnnotation.java │ │ │ │ │ ├── meta │ │ │ │ │ │ └── package.html │ │ │ │ │ ├── package.html │ │ │ │ │ └── InheritInfoVisitor.java │ │ │ │ ├── idgen │ │ │ │ │ └── package.html │ │ │ │ ├── util │ │ │ │ │ └── package.html │ │ │ │ ├── persist │ │ │ │ │ ├── dml │ │ │ │ │ │ ├── package.html │ │ │ │ │ │ ├── DmlMode.java │ │ │ │ │ │ └── InsertMetaOptions.java │ │ │ │ │ ├── dmlbind │ │ │ │ │ │ └── package.html │ │ │ │ │ ├── SaveMany.java │ │ │ │ │ ├── package.html │ │ │ │ │ └── TrimLogSql.java │ │ │ │ ├── autotune │ │ │ │ │ └── AutoTuneServiceProvider.java │ │ │ │ ├── cluster │ │ │ │ │ ├── package.html │ │ │ │ │ └── ServerLookup.java │ │ │ │ ├── bind │ │ │ │ │ └── capture │ │ │ │ │ │ └── BindCaptureEntry.java │ │ │ │ ├── transaction │ │ │ │ │ └── package.html │ │ │ │ └── properties │ │ │ │ │ └── package.html │ │ │ └── util │ │ │ │ └── package.html │ │ │ └── ebeanservice │ │ │ └── docstore │ │ │ ├── api │ │ │ ├── package-info.java │ │ │ ├── mapping │ │ │ │ └── package-info.java │ │ │ └── support │ │ │ │ └── package-info.java │ │ │ └── none │ │ │ └── package-info.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── io.ebean.service.BootstrapService ├── test-dummy.properties ├── test-dummy.yml └── test-dummy2.yaml ├── ebean-ddl-generator └── src │ ├── test │ ├── resources │ │ ├── dbmigration │ │ │ ├── app2 │ │ │ │ ├── v3.1.sql │ │ │ │ ├── v1.0__one.sql │ │ │ │ └── v1.1__one.sql │ │ │ ├── app3 │ │ │ │ ├── v1.0__one.sql │ │ │ │ ├── v1.1__one.sql │ │ │ │ ├── v3.1.2__foo.sql │ │ │ │ ├── model_larger │ │ │ │ │ └── v4.1__foo.model.xml │ │ │ │ └── model_smaller │ │ │ │ │ ├── v2.0.model.xml │ │ │ │ │ └── v2.1__foo.model.xml │ │ │ ├── index │ │ │ │ ├── 1.1__foo.sql │ │ │ │ ├── 1.0__hello.sql │ │ │ │ ├── I__init_1.sql │ │ │ │ ├── R__view_1.sql │ │ │ │ └── idx_postgres.migrations │ │ │ ├── index2 │ │ │ │ ├── g1 │ │ │ │ │ ├── 1.0__a.sql │ │ │ │ │ └── 1.1__b.sql │ │ │ │ ├── g2 │ │ │ │ │ ├── 2.0__a.sql │ │ │ │ │ └── 2.1__2b.sql │ │ │ │ ├── I__init_1.sql │ │ │ │ ├── R__view_1.sql │ │ │ │ └── idx_h2.migrations │ │ │ └── index-special-chars │ │ │ │ └── 1.0__hello.sql │ │ ├── test-dbmigration │ │ │ ├── 1.1.sql │ │ │ ├── 1.2.sql │ │ │ └── 2.1.sql │ │ ├── assert │ │ │ ├── BaseTableDdlTest │ │ │ │ ├── createTable-rollback.txt │ │ │ │ ├── createTable-rollbackFirst.txt │ │ │ │ ├── createTable-applyLast.txt │ │ │ │ └── createTable-apply.txt │ │ │ ├── BaseDdlHandlerTest │ │ │ │ └── baseDropAll.sql │ │ │ ├── ModelBuild_compound_IdClassTest │ │ │ │ └── apply.sql │ │ │ └── drop-create-table.txt │ │ ├── scripts │ │ │ ├── test-script.sql │ │ │ └── test-script-2.sql │ │ ├── ebean.mf │ │ ├── mysql │ │ │ └── procedures │ │ │ │ ├── mysql │ │ │ │ ├── idx_mysql.migrations │ │ │ │ └── 1.2__dropsFor_1.1.sql │ │ │ │ └── model │ │ │ │ ├── 1.1.model.xml │ │ │ │ └── 1.2__dropsFor_1.1.model.xml │ │ └── io │ │ │ └── ebeaninternal │ │ │ └── dbmigration │ │ │ └── model │ │ │ ├── 5.0__dropTable.model.xml │ │ │ ├── 1.1_2__drops.model.xml │ │ │ ├── 2.2__drops.model.xml │ │ │ └── 3.0__rawSql.model.xml │ └── java │ │ └── org │ │ └── tests │ │ └── inheritance │ │ ├── company │ │ └── domain │ │ │ └── ConcreteBar.java │ │ └── model │ │ └── AbstractBaseClass.java │ └── main │ ├── resources │ └── META-INF │ │ └── services │ │ ├── io.ebean.dbmigration.DbMigration │ │ └── io.ebeaninternal.api.SpiDdlGeneratorProvider │ └── java │ └── io │ ├── ebean │ └── dbmigration │ │ └── package-info.java │ └── ebeaninternal │ ├── extraddl │ └── model │ │ └── package-info.java │ └── dbmigration │ ├── migration │ └── package-info.java │ ├── package-info.java │ └── ddlgeneration │ └── platform │ └── HanaRowStoreDdl.java ├── ebean-querybean ├── src │ ├── test │ │ ├── resources │ │ │ ├── init-db.sql │ │ │ └── ebean.mf │ │ └── java │ │ │ └── org │ │ │ └── example │ │ │ └── domain │ │ │ ├── api │ │ │ ├── ACountry.java │ │ │ └── ACity.java │ │ │ ├── otherpackage │ │ │ ├── Email.java │ │ │ ├── GenericTypeArgument.java │ │ │ ├── PhoneNumber.java │ │ │ └── GenericType.java │ │ │ ├── PFile.java │ │ │ ├── PLong.java │ │ │ ├── Pinstant.java │ │ │ ├── other │ │ │ └── OtherBean.java │ │ │ ├── Alias.java │ │ │ ├── SomePojo.java │ │ │ ├── CountryImpl.java │ │ │ ├── AWildCat.java │ │ │ └── OtherMain.java │ └── main │ │ └── java │ │ ├── module-info.java │ │ └── io │ │ └── ebean │ │ └── typequery │ │ └── TQPath.java └── README.md ├── ebean-api └── src │ ├── main │ ├── resources │ │ └── META-INF │ │ │ ├── ebean-version.mf │ │ │ └── ebean-maven-version.txt │ └── java │ │ └── io │ │ └── ebean │ │ ├── util │ │ └── package-info.java │ │ ├── text │ │ ├── package-info.java │ │ ├── StringParser.java │ │ └── StringFormatter.java │ │ ├── meta │ │ ├── package-info.java │ │ ├── MetaMetric.java │ │ └── MetaCountMetric.java │ │ ├── search │ │ └── package-info.java │ │ ├── Expression.java │ │ ├── docstore │ │ ├── DocMapping.java │ │ ├── DocUpdateContext.java │ │ └── DocQueryContext.java │ │ ├── metric │ │ ├── CountMetricStats.java │ │ └── QueryPlanMetric.java │ │ ├── service │ │ ├── BootstrapService.java │ │ ├── SpiFetchGroupQuery.java │ │ └── SpiContainerFactory.java │ │ ├── bean │ │ ├── EnhancedTransactional.java │ │ ├── package.html │ │ ├── ToStringAware.java │ │ └── NotEnhancedException.java │ │ ├── plugin │ │ └── package-info.java │ │ ├── cache │ │ ├── package.html │ │ ├── QueryCacheEntryValidate.java │ │ └── ServerCacheNotify.java │ │ ├── config │ │ ├── SlowQueryListener.java │ │ ├── dbplatform │ │ │ ├── package.html │ │ │ ├── BasicSqlLimiter.java │ │ │ ├── SqlLimiter.java │ │ │ └── DbEncryptFunction.java │ │ ├── package.html │ │ ├── QueryPlanListener.java │ │ ├── LookupProvider.java │ │ ├── CurrentTenantProvider.java │ │ ├── EncryptDeployManager.java │ │ └── EntityClassRegister.java │ │ ├── event │ │ ├── readaudit │ │ │ └── package-info.java │ │ └── package.html │ │ ├── common │ │ └── package.html │ │ ├── QueryType.java │ │ ├── SimpleProperty.java │ │ └── FutureRowCount.java │ └── test │ └── resources │ └── application-test.properties ├── tests ├── test-kotlin │ └── src │ │ ├── test │ │ └── resources │ │ │ ├── META-INF │ │ │ └── ebean-version.mf │ │ │ └── application-test.yaml │ │ └── main │ │ └── kotlin │ │ └── org │ │ └── example │ │ ├── api │ │ └── ICustomer.kt │ │ ├── otherpackage │ │ ├── Email.kt │ │ ├── GenericType.kt │ │ ├── PhoneNumber.kt │ │ ├── GenericTypeArgument.kt │ │ └── ValidEmail.kt │ │ └── domain │ │ ├── MyInnerEmb.kt │ │ └── MyKotInner.kt └── test-java16 │ └── src │ ├── test │ ├── resources │ │ └── application-test.yaml │ └── java │ │ └── org │ │ └── example │ │ └── records │ │ └── CustomEqualsTest.java │ └── main │ └── java │ └── org │ └── example │ └── records │ ├── UserRoleId.java │ ├── Address.java │ ├── UserSiteId.java │ └── CourseRecordEntity.java ├── ebean-test ├── src │ ├── test │ │ ├── resources │ │ │ ├── contains │ │ │ │ ├── check-type-actual.json │ │ │ │ ├── check-type-expected.json │ │ │ │ ├── array-objects.json │ │ │ │ ├── nested-array-missExpected.json │ │ │ │ ├── check-null-expected.json │ │ │ │ ├── nested-array.json │ │ │ │ ├── nested-array-both.json │ │ │ │ ├── nested-array-ordering.json │ │ │ │ ├── check-null-actual.json │ │ │ │ ├── nested-array-extraExpected.json │ │ │ │ ├── array-objects-shuffled.json │ │ │ │ ├── array-multi-match.json │ │ │ │ ├── array-multi-match-duplicate-props.json │ │ │ │ └── original-subset.json │ │ │ ├── example │ │ │ │ ├── plain.json │ │ │ │ └── plain-list.json │ │ │ ├── migrationtest │ │ │ │ └── dbmigration │ │ │ │ │ ├── h2 │ │ │ │ │ ├── R__multi_comments.sql │ │ │ │ │ ├── R__order_views.sql │ │ │ │ │ └── idx_h2.migrations │ │ │ │ │ ├── postgres │ │ │ │ │ ├── R__multi_comments.sql │ │ │ │ │ ├── R__pg_indexes.sql │ │ │ │ │ ├── R__order_views.sql │ │ │ │ │ └── idx_postgres.migrations │ │ │ │ │ ├── postgres9 │ │ │ │ │ ├── R__multi_comments.sql │ │ │ │ │ ├── R__pg_indexes.sql │ │ │ │ │ ├── R__order_views.sql │ │ │ │ │ └── idx_postgres.migrations │ │ │ │ │ ├── oracle │ │ │ │ │ ├── R__oracle_only_views.sql │ │ │ │ │ ├── R__order_views.sql │ │ │ │ │ └── idx_oracle.migrations │ │ │ │ │ ├── oracle11 │ │ │ │ │ ├── R__oracle_only_views.sql │ │ │ │ │ ├── R__order_views.sql │ │ │ │ │ └── idx_oracle.migrations │ │ │ │ │ ├── generic │ │ │ │ │ └── idx_generic.migrations │ │ │ │ │ ├── db2legacy │ │ │ │ │ └── idx_generic.migrations │ │ │ │ │ ├── clickhouse │ │ │ │ │ └── idx_clickhouse.migrations │ │ │ │ │ ├── sqlanywhere │ │ │ │ │ └── idx_sqlanywhere.migrations │ │ │ │ │ ├── db2fori │ │ │ │ │ ├── idx_db2.migrations │ │ │ │ │ └── R__order_views.sql │ │ │ │ │ ├── db2zos │ │ │ │ │ ├── idx_db2.migrations │ │ │ │ │ └── R__order_views.sql │ │ │ │ │ ├── nuodb │ │ │ │ │ ├── idx_nuodb.migrations │ │ │ │ │ └── R__order_views.sql │ │ │ │ │ ├── cockroach │ │ │ │ │ ├── idx_cockroach.migrations │ │ │ │ │ └── R__order_views.sql │ │ │ │ │ ├── hsqldb │ │ │ │ │ ├── idx_hsqldb.migrations │ │ │ │ │ └── R__order_views_hsqldb.sql │ │ │ │ │ ├── sqlite │ │ │ │ │ ├── idx_sqlite.migrations │ │ │ │ │ └── R__order_views_sqlite.sql │ │ │ │ │ ├── yugabyte │ │ │ │ │ ├── idx_yugabyte.migrations │ │ │ │ │ └── R__order_views.sql │ │ │ │ │ ├── mariadb-noprocs │ │ │ │ │ ├── idx_mariadb.migrations │ │ │ │ │ └── R__order_views.sql │ │ │ │ │ ├── hana │ │ │ │ │ ├── R__order_views_hana.sql │ │ │ │ │ └── idx_hana.migrations │ │ │ │ │ ├── db2luw │ │ │ │ │ ├── R__order_views.sql │ │ │ │ │ └── idx_db2.migrations │ │ │ │ │ ├── mysql │ │ │ │ │ ├── R__order_views.sql │ │ │ │ │ └── idx_mysql.migrations │ │ │ │ │ ├── mariadb │ │ │ │ │ ├── R__order_views.sql │ │ │ │ │ └── idx_mariadb.migrations │ │ │ │ │ ├── mysql55 │ │ │ │ │ ├── R__order_views.sql │ │ │ │ │ └── idx_mysql.migrations │ │ │ │ │ ├── sqlserver16 │ │ │ │ │ └── idx_sqlserver.migrations │ │ │ │ │ └── sqlserver17 │ │ │ │ │ └── idx_sqlserver.migrations │ │ │ ├── bean │ │ │ │ ├── contains-minimal.json │ │ │ │ ├── contains-with-version.json │ │ │ │ ├── example-bean.json │ │ │ │ ├── example-list-contains.json │ │ │ │ └── example-list-match.json │ │ │ ├── migrationtest-history │ │ │ │ └── dbmigration │ │ │ │ │ ├── R__multi_comments.sql │ │ │ │ │ ├── R__order_views.sql │ │ │ │ │ └── model │ │ │ │ │ ├── 1.1.model.xml │ │ │ │ │ └── 1.2__dropsFor_1.1.model.xml │ │ │ ├── test-properties │ │ │ │ ├── application.properties │ │ │ │ ├── one.properties │ │ │ │ ├── application.yaml │ │ │ │ └── foo.yml │ │ │ ├── java-64.png │ │ │ ├── profile-image.jpg │ │ │ ├── scripts │ │ │ │ ├── test-script.sql │ │ │ │ └── test-script-2.sql │ │ │ ├── ebean.mf │ │ │ └── test-ebean.properties │ │ └── java │ │ │ ├── io │ │ │ └── ebean │ │ │ │ └── xtest │ │ │ │ └── MySex.java │ │ │ ├── org │ │ │ ├── tests │ │ │ │ ├── model │ │ │ │ │ ├── interfaces │ │ │ │ │ │ ├── IPersona.java │ │ │ │ │ │ ├── IAddress.java │ │ │ │ │ │ ├── IPerson.java │ │ │ │ │ │ └── TestSelfMany.java │ │ │ │ │ ├── ivo │ │ │ │ │ │ ├── converter │ │ │ │ │ │ │ └── AnEnumType.java │ │ │ │ │ │ ├── SysTime.java │ │ │ │ │ │ └── Segment.java │ │ │ │ │ ├── bridge │ │ │ │ │ │ ├── BAccessLevel.java │ │ │ │ │ │ ├── BUser.java │ │ │ │ │ │ └── BSite.java │ │ │ │ │ ├── join │ │ │ │ │ │ ├── BankAccount.java │ │ │ │ │ │ ├── AccountAccess.java │ │ │ │ │ │ ├── CustomerAccess.java │ │ │ │ │ │ └── HCustomer.java │ │ │ │ │ ├── inheritexposedtype │ │ │ │ │ │ └── IXPhoto.java │ │ │ │ │ ├── basic │ │ │ │ │ │ ├── ValidationGroupSomething.java │ │ │ │ │ │ ├── MNonEnum.java │ │ │ │ │ │ ├── TWithPreInsertCommon.java │ │ │ │ │ │ ├── ClanQuest.java │ │ │ │ │ │ ├── SomeEnum.java │ │ │ │ │ │ └── Clan.java │ │ │ │ │ ├── array │ │ │ │ │ │ ├── IntEnum.java │ │ │ │ │ │ └── VarcharEnum.java │ │ │ │ │ ├── EWhoProps.java │ │ │ │ │ ├── inheritmany │ │ │ │ │ │ └── MBase.java │ │ │ │ │ ├── embedded │ │ │ │ │ │ └── Eembeddable.java │ │ │ │ │ └── softdelete │ │ │ │ │ │ └── ESoftDelUp.java │ │ │ │ ├── o2m │ │ │ │ │ ├── jointable │ │ │ │ │ │ └── inheritance │ │ │ │ │ │ │ ├── ClassA.java │ │ │ │ │ │ │ └── ClassB.java │ │ │ │ │ └── dm │ │ │ │ │ │ └── Attachment.java │ │ │ │ ├── inheritance │ │ │ │ │ ├── bothsides │ │ │ │ │ │ ├── Target2.java │ │ │ │ │ │ └── Target1.java │ │ │ │ │ ├── company │ │ │ │ │ │ └── domain │ │ │ │ │ │ │ └── ConcreteBar.java │ │ │ │ │ ├── model │ │ │ │ │ │ └── AbstractBaseClass.java │ │ │ │ │ ├── cascadedelete │ │ │ │ │ │ └── RootBean.java │ │ │ │ │ └── order │ │ │ │ │ │ ├── OrderedA.java │ │ │ │ │ │ └── OrderedB.java │ │ │ │ ├── iud │ │ │ │ │ ├── PcfEvent.java │ │ │ │ │ └── PcfModel.java │ │ │ │ ├── rawsql │ │ │ │ │ └── transport │ │ │ │ │ │ └── SampleReport.java │ │ │ │ ├── aggregateformula │ │ │ │ │ └── IAFBaseSegment.java │ │ │ │ ├── inherit │ │ │ │ │ ├── ParentAggregate.java │ │ │ │ │ ├── DIntChildBase.java │ │ │ │ │ ├── ChildB.java │ │ │ │ │ └── ChildA.java │ │ │ │ ├── o2o │ │ │ │ │ └── OtoLevelC.java │ │ │ │ ├── insert │ │ │ │ │ └── OnlyIdEntity.java │ │ │ │ └── basic │ │ │ │ │ └── encrypt │ │ │ │ │ └── BasicEncryptKey.java │ │ │ └── multitenant │ │ │ │ └── partition │ │ │ │ └── MtNone.java │ │ │ ├── misc │ │ │ └── migration │ │ │ │ ├── v1_1 │ │ │ │ ├── EUser.java │ │ │ │ ├── DfkOne.java │ │ │ │ ├── DfkCascadeOne.java │ │ │ │ ├── DfkNoneViaJoin.java │ │ │ │ └── EHistory4.java │ │ │ │ ├── v1_0 │ │ │ │ ├── DfkOne.java │ │ │ │ ├── ESoftdelete.java │ │ │ │ ├── DfkCascadeOne.java │ │ │ │ ├── DfkNoneViaJoin.java │ │ │ │ ├── EHistory3.java │ │ │ │ ├── EHistory4.java │ │ │ │ ├── EHistory5.java │ │ │ │ └── EHistory.java │ │ │ │ └── v1_2 │ │ │ │ ├── DfkOne.java │ │ │ │ ├── ESoftdelete.java │ │ │ │ ├── DfkCascadeOne.java │ │ │ │ ├── DfkNoneViaJoin.java │ │ │ │ ├── EHistory3.java │ │ │ │ ├── EHistory4.java │ │ │ │ └── EHistory5.java │ │ │ └── main │ │ │ ├── StartCockroach.java │ │ │ ├── StartOracle.java │ │ │ ├── StartMariaDb.java │ │ │ └── StartNuoDB.java │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ └── services │ │ │ ├── io.ebean.config.AutoConfigure │ │ │ └── io.ebeaninternal.api.SpiLoggerFactory │ │ └── java │ │ └── io │ │ └── ebean │ │ └── test │ │ └── config │ │ └── provider │ │ ├── WhoUserProvider.java │ │ ├── WhoTenantProvider.java │ │ └── FixedEncryptKey.java └── testconfig │ ├── ebean-h2.properties │ ├── ebean-nuodb.properties │ ├── ebean-oracle.properties │ ├── ebean-sqlite.properties │ ├── ebean-clickhouse.properties │ ├── ebean-postgres.properties │ ├── ebean-cockroach.properties │ ├── ebean-yugabyte.properties │ ├── ebean-mysql.properties │ ├── ebean-hana.properties │ ├── ebean-mariadb-10.6.properties │ ├── ebean-mariadb.properties │ ├── ebean-mariadb-10.3.properties │ └── ebean-db2.properties ├── ebean-pgvector-types ├── README.md ├── src │ ├── main │ │ └── resources │ │ │ └── META-INF │ │ │ └── services │ │ │ ├── io.ebean.core.type.ExtraTypeFactory │ │ │ └── io.ebean.datasource.NewConnectionInitializer │ └── test │ │ └── java │ │ └── org │ │ └── example │ │ └── domain │ │ └── BaseEntity.java └── .editorconfig ├── kotlin-querybean-generator └── src │ ├── test │ └── resources │ │ ├── META-INF │ │ └── ebean-version.mf │ │ └── application-test.properties │ └── main │ └── resources │ └── META-INF │ ├── services │ └── javax.annotation.processing.Processor │ └── gradle │ └── incremental.annotation.processors ├── ebean-postgis-types ├── README.md ├── src │ ├── main │ │ ├── resources │ │ │ └── META-INF │ │ │ │ └── services │ │ │ │ ├── io.ebean.core.type.ExtraTypeFactory │ │ │ │ └── io.ebeaninternal.api.GeoTypeProvider │ │ └── java │ │ │ └── io │ │ │ └── ebean │ │ │ └── postgis │ │ │ └── latte │ │ │ ├── ScalarTypeGeoLattePoint.java │ │ │ ├── ScalarTypeGeoLattePolygon.java │ │ │ ├── ScalarTypeGeoLatteMultiPoint.java │ │ │ ├── ScalarTypeGeoLatteLineString.java │ │ │ └── ScalarTypeGeoLatteMultiPolygon.java │ └── test │ │ └── java │ │ └── org │ │ └── example │ │ └── domain │ │ └── BaseEntity.java └── .editorconfig ├── .github ├── FUNDING.yml └── ISSUE_TEMPLATE.md ├── ebean-net-postgis-types ├── README.md ├── src │ ├── main │ │ └── resources │ │ │ └── META-INF │ │ │ └── services │ │ │ ├── io.ebean.core.type.ExtraTypeFactory │ │ │ └── io.ebeaninternal.api.GeoTypeProvider │ └── test │ │ └── java │ │ └── org │ │ └── example │ │ └── domain │ │ └── BaseEntity.java └── .editorconfig ├── ebean-redis └── src │ ├── main │ ├── resources │ │ └── META-INF │ │ │ └── services │ │ │ └── io.ebean.cache.ServerCachePlugin │ └── java │ │ ├── io │ │ └── ebean │ │ │ └── redis │ │ │ └── encode │ │ │ └── Encode.java │ │ └── module-info.java │ └── test │ └── resources │ └── application-test.yaml ├── ebean-core-json └── src │ └── main │ ├── resources │ └── META-INF │ │ └── services │ │ └── io.ebean.service.BootstrapService │ └── java │ └── module-info.java ├── querybean-generator ├── src │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ ├── services │ │ │ └── javax.annotation.processing.Processor │ │ │ └── gradle │ │ │ └── incremental.annotation.processors │ │ └── java │ │ └── module-info.java └── README.md ├── ebean-spring-txn ├── .gitignore ├── src │ ├── main │ │ └── java │ │ │ └── module-info.java │ └── test │ │ └── java │ │ └── org │ │ └── example │ │ └── UserService.java └── .editorconfig ├── platforms ├── h2 │ └── src │ │ └── main │ │ ├── java │ │ ├── io │ │ │ └── ebean │ │ │ │ └── platform │ │ │ │ └── h2 │ │ │ │ ├── package-info.java │ │ │ │ └── H2HistorySupport.java │ │ └── module-info.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── io.ebean.config.dbplatform.DatabasePlatformProvider ├── db2 │ └── src │ │ └── main │ │ ├── java │ │ ├── io │ │ │ └── ebean │ │ │ │ └── platform │ │ │ │ └── db2 │ │ │ │ └── package-info.java │ │ └── module-info.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── io.ebean.config.dbplatform.DatabasePlatformProvider ├── hana │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ └── services │ │ │ └── io.ebean.config.dbplatform.DatabasePlatformProvider │ │ └── java │ │ ├── io │ │ └── ebean │ │ │ └── platform │ │ │ └── hana │ │ │ └── package-info.java │ │ └── module-info.java ├── hsqldb │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ └── services │ │ │ └── io.ebean.config.dbplatform.DatabasePlatformProvider │ │ └── java │ │ ├── io │ │ └── ebean │ │ │ └── platform │ │ │ └── hsqldb │ │ │ └── package-info.java │ │ └── module-info.java ├── mysql │ └── src │ │ └── main │ │ ├── java │ │ ├── io │ │ │ └── ebean │ │ │ │ └── platform │ │ │ │ └── mysql │ │ │ │ ├── package-info.java │ │ │ │ ├── MySqlHistorySupport.java │ │ │ │ └── MySqlPlatform.java │ │ └── module-info.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── io.ebean.config.dbplatform.DatabasePlatformProvider ├── nuodb │ └── src │ │ └── main │ │ ├── java │ │ ├── io │ │ │ └── ebean │ │ │ │ └── platform │ │ │ │ └── nuodb │ │ │ │ ├── package-info.java │ │ │ │ └── NuoDbHistorySupport.java │ │ └── module-info.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── io.ebean.config.dbplatform.DatabasePlatformProvider ├── oracle │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ └── services │ │ │ └── io.ebean.config.dbplatform.DatabasePlatformProvider │ │ └── java │ │ ├── io │ │ └── ebean │ │ │ └── platform │ │ │ └── oracle │ │ │ ├── package-info.java │ │ │ └── Oracle12Platform.java │ │ └── module-info.java ├── sqlite │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ └── services │ │ │ └── io.ebean.config.dbplatform.DatabasePlatformProvider │ │ └── java │ │ ├── io │ │ └── ebean │ │ │ └── platform │ │ │ └── sqlite │ │ │ └── package-info.java │ │ └── module-info.java ├── mariadb │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ └── services │ │ │ └── io.ebean.config.dbplatform.DatabasePlatformProvider │ │ └── java │ │ └── module-info.java ├── postgres │ └── src │ │ └── main │ │ ├── java │ │ ├── io │ │ │ └── ebean │ │ │ │ └── platform │ │ │ │ ├── yugabyte │ │ │ │ ├── package-info.java │ │ │ │ └── YugabytePlatform.java │ │ │ │ ├── cockroach │ │ │ │ └── package-info.java │ │ │ │ └── postgres │ │ │ │ ├── package-info.java │ │ │ │ └── Postgres9Platform.java │ │ └── module-info.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── io.ebean.config.dbplatform.DatabasePlatformProvider ├── all │ └── src │ │ └── main │ │ └── java │ │ └── io │ │ └── ebean │ │ └── platform │ │ └── all │ │ ├── package-info.java │ │ └── Assembly.java ├── sqlserver │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ └── services │ │ │ └── io.ebean.config.dbplatform.DatabasePlatformProvider │ │ └── java │ │ ├── io │ │ └── ebean │ │ │ └── platform │ │ │ └── sqlserver │ │ │ └── package-info.java │ │ └── module-info.java ├── clickhouse │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ └── services │ │ │ └── io.ebean.config.dbplatform.DatabasePlatformProvider │ │ └── java │ │ ├── io │ │ └── ebean │ │ │ └── platform │ │ │ └── clickhouse │ │ │ └── package-info.java │ │ └── module-info.java └── sqlanywhere │ └── src │ └── main │ ├── resources │ └── META-INF │ │ └── services │ │ └── io.ebean.config.dbplatform.DatabasePlatformProvider │ └── java │ ├── io │ └── ebean │ │ └── platform │ │ └── sqlanywhere │ │ └── package-info.java │ └── module-info.java ├── ebean-jackson-mapper └── src │ └── main │ ├── resources │ └── META-INF │ │ └── services │ │ └── io.ebean.core.type.ScalarJsonMapper │ └── java │ └── module-info.java ├── composites ├── ebean │ └── src │ │ └── main │ │ └── java │ │ ├── io │ │ └── ebean │ │ │ └── assembly │ │ │ └── Assembly.java │ │ └── module-info.java ├── ebean-db2 │ └── src │ │ └── main │ │ └── java │ │ ├── io │ │ └── ebean │ │ │ └── db2 │ │ │ └── assembly │ │ │ └── Assembly.java │ │ └── module-info.java ├── ebean-h2 │ └── src │ │ └── main │ │ └── java │ │ ├── io │ │ └── ebean │ │ │ └── h2 │ │ │ └── assembly │ │ │ └── Assembly.java │ │ └── module-info.java ├── ebean-hana │ └── src │ │ └── main │ │ └── java │ │ ├── io │ │ └── ebean │ │ │ └── hana │ │ │ └── assembly │ │ │ └── Assembly.java │ │ └── module-info.java ├── ebean-mysql │ └── src │ │ └── main │ │ └── java │ │ ├── io │ │ └── ebean │ │ │ └── mysql │ │ │ └── assembly │ │ │ └── Assembly.java │ │ └── module-info.java ├── ebean-nuodb │ └── src │ │ └── main │ │ └── java │ │ ├── io │ │ └── ebean │ │ │ └── nuodb │ │ │ └── assembly │ │ │ └── Assembly.java │ │ └── module-info.java ├── ebean-oracle │ └── src │ │ └── main │ │ └── java │ │ ├── io │ │ └── ebean │ │ │ └── oracle │ │ │ └── assembly │ │ │ └── Assembly.java │ │ └── module-info.java ├── ebean-sqlite │ └── src │ │ └── main │ │ └── java │ │ ├── io │ │ └── ebean │ │ │ └── sqlite │ │ │ └── assembly │ │ │ └── Assembly.java │ │ └── module-info.java ├── ebean-mariadb │ └── src │ │ └── main │ │ └── java │ │ ├── io │ │ └── ebean │ │ │ └── mariadb │ │ │ └── assembly │ │ │ └── Assembly.java │ │ └── module-info.java ├── ebean-pgvector │ └── src │ │ └── main │ │ └── java │ │ ├── io │ │ └── ebean │ │ │ └── pgvector │ │ │ └── assembly │ │ │ └── Assembly.java │ │ └── module-info.java ├── ebean-postgis │ └── src │ │ └── main │ │ └── java │ │ ├── io │ │ └── ebean │ │ │ └── postgis │ │ │ └── assembly │ │ │ └── Assembly.java │ │ └── module-info.java ├── ebean-postgres │ └── src │ │ └── main │ │ └── java │ │ ├── io │ │ └── ebean │ │ │ └── postgres │ │ │ └── assembly │ │ │ └── Assembly.java │ │ └── module-info.java ├── ebean-yugabyte │ └── src │ │ └── main │ │ └── java │ │ ├── io │ │ └── ebean │ │ │ └── yugabyte │ │ │ └── assembly │ │ │ └── Assembly.java │ │ └── module-info.java ├── ebean-cockroach │ └── src │ │ └── main │ │ └── java │ │ ├── io │ │ └── ebean │ │ │ └── cockroach │ │ │ └── assembly │ │ │ └── Assembly.java │ │ └── module-info.java ├── ebean-net-postgis │ └── src │ │ └── main │ │ └── java │ │ ├── io │ │ └── ebean │ │ │ └── postgis │ │ │ └── assembly │ │ │ └── Assembly.java │ │ └── module-info.java ├── ebean-sqlserver │ └── src │ │ └── main │ │ └── java │ │ ├── io │ │ └── ebean │ │ │ └── sqlserver │ │ │ └── assembly │ │ │ └── Assembly.java │ │ └── module-info.java └── ebean-clickhouse │ └── src │ └── main │ └── java │ ├── io │ └── ebean │ │ └── clickhouse │ │ └── assembly │ │ └── Assembly.java │ └── module-info.java ├── .editorconfig ├── .gitignore ├── ebean-core-type └── src │ └── main │ └── java │ ├── module-info.java │ └── io │ └── ebean │ └── core │ └── type │ └── ScalarDataReader.java └── .travis └── print_surefire_reports /ebean-core/src/test/resources/ebean.mf: -------------------------------------------------------------------------------- 1 | synthetic: false 2 | -------------------------------------------------------------------------------- /ebean-core/test-dummy.properties: -------------------------------------------------------------------------------- 1 | dummy.properties.foo=bar 2 | -------------------------------------------------------------------------------- /ebean-core/test-dummy.yml: -------------------------------------------------------------------------------- 1 | dummy: 2 | yml: 3 | foo: bar 4 | -------------------------------------------------------------------------------- /ebean-core/test-dummy2.yaml: -------------------------------------------------------------------------------- 1 | dummy: 2 | yaml: 3 | bar: baz 4 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/dbmigration/app2/v3.1.sql: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/dbmigration/app2/v1.0__one.sql: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/dbmigration/app2/v1.1__one.sql: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/dbmigration/app3/v1.0__one.sql: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/dbmigration/app3/v1.1__one.sql: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/dbmigration/app3/v3.1.2__foo.sql: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ebean-querybean/src/test/resources/init-db.sql: -------------------------------------------------------------------------------- 1 | create schema foo; 2 | -------------------------------------------------------------------------------- /ebean-api/src/main/resources/META-INF/ebean-version.mf: -------------------------------------------------------------------------------- 1 | ebean-version: 149 2 | -------------------------------------------------------------------------------- /ebean-core/src/test/resources/META-INF/test/test-one.mf: -------------------------------------------------------------------------------- 1 | packages: foo 2 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/dbmigration/index/1.1__foo.sql: -------------------------------------------------------------------------------- 1 | foo 2 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/dbmigration/index2/g1/1.0__a.sql: -------------------------------------------------------------------------------- 1 | a 2 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/dbmigration/index2/g1/1.1__b.sql: -------------------------------------------------------------------------------- 1 | b 2 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/dbmigration/index2/g2/2.0__a.sql: -------------------------------------------------------------------------------- 1 | 2a 2 | -------------------------------------------------------------------------------- /ebean-api/src/test/resources/application-test.properties: -------------------------------------------------------------------------------- 1 | datasource.default=h2 2 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/dbmigration/index/1.0__hello.sql: -------------------------------------------------------------------------------- 1 | hello 2 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/dbmigration/index/I__init_1.sql: -------------------------------------------------------------------------------- 1 | init 2 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/dbmigration/index2/I__init_1.sql: -------------------------------------------------------------------------------- 1 | init 2 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/dbmigration/index2/g2/2.1__2b.sql: -------------------------------------------------------------------------------- 1 | 2b 2 | -------------------------------------------------------------------------------- /ebean-api/src/main/resources/META-INF/ebean-maven-version.txt: -------------------------------------------------------------------------------- 1 | ${project.version} 2 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/dbmigration/app3/model_larger/v4.1__foo.model.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/dbmigration/app3/model_smaller/v2.0.model.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/dbmigration/index/R__view_1.sql: -------------------------------------------------------------------------------- 1 | Something 2 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/dbmigration/index2/R__view_1.sql: -------------------------------------------------------------------------------- 1 | Something 2 | -------------------------------------------------------------------------------- /tests/test-kotlin/src/test/resources/META-INF/ebean-version.mf: -------------------------------------------------------------------------------- 1 | ebean-version: 143 2 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/dbmigration/app3/model_smaller/v2.1__foo.model.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/contains/check-type-actual.json: -------------------------------------------------------------------------------- 1 | { 2 | "some": "val" 3 | } 4 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/contains/check-type-expected.json: -------------------------------------------------------------------------------- 1 | { 2 | "some": 42 3 | } 4 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/api/package-info.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.api; 2 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/dbmigration/index-special-chars/1.0__hello.sql: -------------------------------------------------------------------------------- 1 | helloäüü 2 | -------------------------------------------------------------------------------- /ebean-pgvector-types/README.md: -------------------------------------------------------------------------------- 1 | # ebean.postgis.types 2 | 3 | Ebean support for PGvector types 4 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/example/plain.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 42, 3 | "name": "foo" 4 | } 5 | -------------------------------------------------------------------------------- /kotlin-querybean-generator/src/test/resources/META-INF/ebean-version.mf: -------------------------------------------------------------------------------- 1 | ebean-version: 143 2 | -------------------------------------------------------------------------------- /ebean-core/src/test/resources/META-INF/test/test-some.mf: -------------------------------------------------------------------------------- 1 | packages: com.foo.domain, com.bar.domain 2 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/test-dbmigration/1.1.sql: -------------------------------------------------------------------------------- 1 | create table mtest1 (acol varchar(20)); 2 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/test-dbmigration/1.2.sql: -------------------------------------------------------------------------------- 1 | create table mtest2 (acol varchar(20)); 2 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/test-dbmigration/2.1.sql: -------------------------------------------------------------------------------- 1 | create table mtest3 (acol varchar(20)); 2 | -------------------------------------------------------------------------------- /ebean-postgis-types/README.md: -------------------------------------------------------------------------------- 1 | # ebean.postgis.types 2 | 3 | Ebean support for Postgres Geometry types 4 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | custom: https://ebean.io/sponsors 4 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/el/package-info.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.server.el; 2 | -------------------------------------------------------------------------------- /ebean-core/src/test/resources/META-INF/test/test-entity-packages.mf: -------------------------------------------------------------------------------- 1 | entity-packages: com.baz, org.bax.domain 2 | -------------------------------------------------------------------------------- /ebean-net-postgis-types/README.md: -------------------------------------------------------------------------------- 1 | # ebean.postgis.types 2 | 3 | Ebean support for Postgres Geometry types 4 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/cache/package-info.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.server.cache; 2 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/query/package-info.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.server.query; 2 | -------------------------------------------------------------------------------- /ebean-redis/src/main/resources/META-INF/services/io.ebean.cache.ServerCachePlugin: -------------------------------------------------------------------------------- 1 | io.ebean.redis.RedisCachePlugin 2 | -------------------------------------------------------------------------------- /ebean-core-json/src/main/resources/META-INF/services/io.ebean.service.BootstrapService: -------------------------------------------------------------------------------- 1 | io.ebeaninternal.json.DJsonService -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/querydefn/package-info.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.server.querydefn; 2 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/h2/R__multi_comments.sql: -------------------------------------------------------------------------------- 1 | 2 | -- h2 and postgres script 3 | -------------------------------------------------------------------------------- /ebean-test/testconfig/ebean-h2.properties: -------------------------------------------------------------------------------- 1 | ebean.test.platform=h2 2 | datasource.default=h2-local 3 | ebean.test.dbName=test -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/loadcontext/package-info.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.server.loadcontext; 2 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/assert/BaseTableDdlTest/createTable-rollback.txt: -------------------------------------------------------------------------------- 1 | drop table if exists mytable; 2 | 3 | -------------------------------------------------------------------------------- /ebean-test/src/main/resources/META-INF/services/io.ebean.config.AutoConfigure: -------------------------------------------------------------------------------- 1 | io.ebean.test.config.AutoConfigureForTesting 2 | -------------------------------------------------------------------------------- /ebean-test/src/main/resources/META-INF/services/io.ebeaninternal.api.SpiLoggerFactory: -------------------------------------------------------------------------------- 1 | io.ebean.test.CapturingLoggerFactory 2 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/bean/contains-minimal.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "something-contains-me", 3 | "version": 1 4 | } 5 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest-history/dbmigration/R__multi_comments.sql: -------------------------------------------------------------------------------- 1 | 2 | -- h2 and postgres script 3 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/postgres/R__multi_comments.sql: -------------------------------------------------------------------------------- 1 | 2 | -- h2 and postgres script 3 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/R__multi_comments.sql: -------------------------------------------------------------------------------- 1 | 2 | -- h2 and postgres script 3 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/test-properties/application.properties: -------------------------------------------------------------------------------- 1 | app.one=Alpha 2 | app.fromProperties=fromProperties 3 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/util/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Utility and helper classes. 3 | */ 4 | package io.ebean.util; 5 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/assert/BaseDdlHandlerTest/baseDropAll.sql: -------------------------------------------------------------------------------- 1 | -- drop all 2 | drop table if exists foo; 3 | 4 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/io/ebean/xtest/MySex.java: -------------------------------------------------------------------------------- 1 | package io.ebean.xtest; 2 | 3 | public enum MySex { 4 | MALE, FEMALE 5 | } 6 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/java-64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ebean-orm/ebean/HEAD/ebean-test/src/test/resources/java-64.png -------------------------------------------------------------------------------- /querybean-generator/src/main/resources/META-INF/services/javax.annotation.processing.Processor: -------------------------------------------------------------------------------- 1 | io.ebean.querybean.generator.Processor -------------------------------------------------------------------------------- /tests/test-kotlin/src/main/kotlin/org/example/api/ICustomer.kt: -------------------------------------------------------------------------------- 1 | package org.example.api 2 | 3 | interface ICustomer { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /ebean-core/src/test/resources/META-INF/test/test-agent-only-use.mf: -------------------------------------------------------------------------------- 1 | entity-packages: com.baz, org.bax.domain 2 | agent-use-only: true 3 | -------------------------------------------------------------------------------- /ebean-postgis-types/src/main/resources/META-INF/services/io.ebean.core.type.ExtraTypeFactory: -------------------------------------------------------------------------------- 1 | io.ebean.postgis.PostgisExtraTypeFactory 2 | -------------------------------------------------------------------------------- /ebean-postgis-types/src/main/resources/META-INF/services/io.ebeaninternal.api.GeoTypeProvider: -------------------------------------------------------------------------------- 1 | io.ebean.postgis.PostgisGeoTypeBindProvider -------------------------------------------------------------------------------- /ebean-spring-txn/.gitignore: -------------------------------------------------------------------------------- 1 | *.sql 2 | .classpath 3 | .project 4 | .settings/ 5 | target/ 6 | logs/ 7 | .idea/ 8 | *.iml 9 | 10 | -------------------------------------------------------------------------------- /ebean-test/testconfig/ebean-nuodb.properties: -------------------------------------------------------------------------------- 1 | ebean.test.platform=nuodb 2 | ebean.test.dbName=testdb 3 | ebean.test.nuodb.version=4.3.2 4 | -------------------------------------------------------------------------------- /ebean-core/src/test/resources/META-INF/test/test-combined.mf: -------------------------------------------------------------------------------- 1 | packages: com.foo.domain, com.bar.domain 2 | entity-packages: com.baz.domain 3 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/main/resources/META-INF/services/io.ebean.dbmigration.DbMigration: -------------------------------------------------------------------------------- 1 | io.ebeaninternal.dbmigration.DefaultDbMigration 2 | -------------------------------------------------------------------------------- /ebean-net-postgis-types/src/main/resources/META-INF/services/io.ebean.core.type.ExtraTypeFactory: -------------------------------------------------------------------------------- 1 | io.ebean.postgis.PostgisExtraTypeFactory 2 | -------------------------------------------------------------------------------- /ebean-net-postgis-types/src/main/resources/META-INF/services/io.ebeaninternal.api.GeoTypeProvider: -------------------------------------------------------------------------------- 1 | io.ebean.postgis.PostgisGeoTypeBindProvider -------------------------------------------------------------------------------- /ebean-pgvector-types/src/main/resources/META-INF/services/io.ebean.core.type.ExtraTypeFactory: -------------------------------------------------------------------------------- 1 | io.ebean.pgvector.PGvectorExtraTypeFactory 2 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/test-properties/one.properties: -------------------------------------------------------------------------------- 1 | hello=there 2 | name=${some:Rob} 3 | db.driver=${other:com.h2database.Driver} 4 | -------------------------------------------------------------------------------- /kotlin-querybean-generator/src/main/resources/META-INF/services/javax.annotation.processing.Processor: -------------------------------------------------------------------------------- 1 | io.ebean.querybean.generator.Processor -------------------------------------------------------------------------------- /platforms/h2/src/main/java/io/ebean/platform/h2/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * H2 specific support. 3 | */ 4 | package io.ebean.platform.h2; 5 | -------------------------------------------------------------------------------- /querybean-generator/src/main/resources/META-INF/gradle/incremental.annotation.processors: -------------------------------------------------------------------------------- 1 | io.ebean.querybean.generator.Processor,aggregating 2 | -------------------------------------------------------------------------------- /ebean-jackson-mapper/src/main/resources/META-INF/services/io.ebean.core.type.ScalarJsonMapper: -------------------------------------------------------------------------------- 1 | io.ebean.jackson.mapper.ScalarJsonJacksonMapper 2 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/profile-image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ebean-orm/ebean/HEAD/ebean-test/src/test/resources/profile-image.jpg -------------------------------------------------------------------------------- /platforms/db2/src/main/java/io/ebean/platform/db2/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * DB2 specific support. 3 | */ 4 | package io.ebean.platform.db2; 5 | -------------------------------------------------------------------------------- /platforms/db2/src/main/resources/META-INF/services/io.ebean.config.dbplatform.DatabasePlatformProvider: -------------------------------------------------------------------------------- 1 | io.ebean.platform.db2.Db2PlatformProvider 2 | -------------------------------------------------------------------------------- /platforms/h2/src/main/resources/META-INF/services/io.ebean.config.dbplatform.DatabasePlatformProvider: -------------------------------------------------------------------------------- 1 | io.ebean.platform.h2.H2PlatformProvider 2 | -------------------------------------------------------------------------------- /tests/test-kotlin/src/main/kotlin/org/example/otherpackage/Email.kt: -------------------------------------------------------------------------------- 1 | package org.example.otherpackage 2 | 3 | interface Email : Comparable 4 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/oracle/R__oracle_only_views.sql: -------------------------------------------------------------------------------- 1 | 2 | -- oracle only script 3 | select * from dual; 4 | -------------------------------------------------------------------------------- /kotlin-querybean-generator/src/main/resources/META-INF/gradle/incremental.annotation.processors: -------------------------------------------------------------------------------- 1 | io.ebean.querybean.generator.Processor,aggregating 2 | -------------------------------------------------------------------------------- /platforms/hana/src/main/resources/META-INF/services/io.ebean.config.dbplatform.DatabasePlatformProvider: -------------------------------------------------------------------------------- 1 | io.ebean.platform.hana.HanaPlatformProvider 2 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/text/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Utility objects for CSV, JSON and XML processing. 3 | */ 4 | package io.ebean.text; 5 | -------------------------------------------------------------------------------- /ebean-core/src/test/java/org/tests/model/basic/enums/MySex.java: -------------------------------------------------------------------------------- 1 | package org.tests.model.basic.enums; 2 | 3 | public enum MySex { 4 | MALE, FEMALE 5 | } 6 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/main/resources/META-INF/services/io.ebeaninternal.api.SpiDdlGeneratorProvider: -------------------------------------------------------------------------------- 1 | io.ebeaninternal.dbmigration.DdlGeneratorProvider 2 | -------------------------------------------------------------------------------- /ebean-pgvector-types/src/main/resources/META-INF/services/io.ebean.datasource.NewConnectionInitializer: -------------------------------------------------------------------------------- 1 | io.ebean.pgvector.PGvectorNewConnectionInitializer 2 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/bean/contains-with-version.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "something-contains-me", 3 | "other": "YeahNah", 4 | "version": 1 5 | } 6 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/oracle11/R__oracle_only_views.sql: -------------------------------------------------------------------------------- 1 | 2 | -- oracle only script 3 | select * from dual; 4 | -------------------------------------------------------------------------------- /platforms/hana/src/main/java/io/ebean/platform/hana/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * SAP HANA specific support. 3 | */ 4 | package io.ebean.platform.hana; 5 | -------------------------------------------------------------------------------- /platforms/hsqldb/src/main/resources/META-INF/services/io.ebean.config.dbplatform.DatabasePlatformProvider: -------------------------------------------------------------------------------- 1 | io.ebean.platform.hsqldb.HSqlDbPlatformProvider 2 | -------------------------------------------------------------------------------- /platforms/mysql/src/main/java/io/ebean/platform/mysql/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * MySql specific support. 3 | */ 4 | package io.ebean.platform.mysql; 5 | -------------------------------------------------------------------------------- /platforms/mysql/src/main/resources/META-INF/services/io.ebean.config.dbplatform.DatabasePlatformProvider: -------------------------------------------------------------------------------- 1 | io.ebean.platform.mysql.MySqlPlatformProvider 2 | -------------------------------------------------------------------------------- /platforms/nuodb/src/main/java/io/ebean/platform/nuodb/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * NuoDB specific support. 3 | */ 4 | package io.ebean.platform.nuodb; 5 | -------------------------------------------------------------------------------- /platforms/nuodb/src/main/resources/META-INF/services/io.ebean.config.dbplatform.DatabasePlatformProvider: -------------------------------------------------------------------------------- 1 | io.ebean.platform.nuodb.NuoDbPlatformProvider 2 | -------------------------------------------------------------------------------- /platforms/oracle/src/main/resources/META-INF/services/io.ebean.config.dbplatform.DatabasePlatformProvider: -------------------------------------------------------------------------------- 1 | io.ebean.platform.oracle.OraclePlatformProvider 2 | -------------------------------------------------------------------------------- /platforms/sqlite/src/main/resources/META-INF/services/io.ebean.config.dbplatform.DatabasePlatformProvider: -------------------------------------------------------------------------------- 1 | io.ebean.platform.sqlite.SqlitePlatformProvider 2 | -------------------------------------------------------------------------------- /tests/test-java16/src/test/resources/application-test.yaml: -------------------------------------------------------------------------------- 1 | ebean: 2 | test: 3 | platform: h2 4 | ddlMode: dropCreate 5 | dbName: foo 6 | 7 | -------------------------------------------------------------------------------- /tests/test-kotlin/src/test/resources/application-test.yaml: -------------------------------------------------------------------------------- 1 | ebean: 2 | test: 3 | platform: h2 4 | ddlMode: dropCreate 5 | dbName: foo 6 | 7 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/meta/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Meta data that can be retrieved for a Database instance. 3 | */ 4 | package io.ebean.meta; 5 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/scripts/test-script.sql: -------------------------------------------------------------------------------- 1 | delete from e_basic; 2 | 3 | -- some comment, select not useful here 4 | select count(*) from e_basic; 5 | -------------------------------------------------------------------------------- /ebean-test/testconfig/ebean-oracle.properties: -------------------------------------------------------------------------------- 1 | ebean.test.platform=oracle 2 | ebean.test.dbName=test_eb 3 | datasource.default=oracle 4 | ebean.lengthCheck=utf8 5 | -------------------------------------------------------------------------------- /platforms/hsqldb/src/main/java/io/ebean/platform/hsqldb/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Hsqldb specific support. 3 | */ 4 | package io.ebean.platform.hsqldb; 5 | -------------------------------------------------------------------------------- /platforms/mariadb/src/main/resources/META-INF/services/io.ebean.config.dbplatform.DatabasePlatformProvider: -------------------------------------------------------------------------------- 1 | io.ebean.platform.mariadb.MariaDbPlatformProvider 2 | -------------------------------------------------------------------------------- /platforms/oracle/src/main/java/io/ebean/platform/oracle/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Oracle specific support. 3 | */ 4 | package io.ebean.platform.oracle; 5 | -------------------------------------------------------------------------------- /platforms/postgres/src/main/java/io/ebean/platform/yugabyte/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Yugabyte DB support. 3 | */ 4 | package io.ebean.platform.yugabyte; 5 | -------------------------------------------------------------------------------- /platforms/postgres/src/main/resources/META-INF/services/io.ebean.config.dbplatform.DatabasePlatformProvider: -------------------------------------------------------------------------------- 1 | io.ebean.platform.postgres.PostgresPlatformProvider 2 | -------------------------------------------------------------------------------- /platforms/sqlite/src/main/java/io/ebean/platform/sqlite/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Sqlite specific support. 3 | */ 4 | package io.ebean.platform.sqlite; 5 | -------------------------------------------------------------------------------- /ebean-querybean/src/test/java/org/example/domain/api/ACountry.java: -------------------------------------------------------------------------------- 1 | package org.example.domain.api; 2 | 3 | public interface ACountry { 4 | String code(); 5 | } 6 | -------------------------------------------------------------------------------- /platforms/all/src/main/java/io/ebean/platform/all/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Composite dependency of all platforms. 3 | */ 4 | package io.ebean.platform.all; 5 | -------------------------------------------------------------------------------- /platforms/postgres/src/main/java/io/ebean/platform/cockroach/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Cockroach DB support. 3 | */ 4 | package io.ebean.platform.cockroach; 5 | -------------------------------------------------------------------------------- /platforms/postgres/src/main/java/io/ebean/platform/postgres/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Postgres specific support. 3 | */ 4 | package io.ebean.platform.postgres; 5 | -------------------------------------------------------------------------------- /platforms/sqlserver/src/main/resources/META-INF/services/io.ebean.config.dbplatform.DatabasePlatformProvider: -------------------------------------------------------------------------------- 1 | io.ebean.platform.sqlserver.SqlServerPlatformProvider 2 | -------------------------------------------------------------------------------- /tests/test-kotlin/src/main/kotlin/org/example/otherpackage/GenericType.kt: -------------------------------------------------------------------------------- 1 | package org.example.otherpackage 2 | 3 | class GenericType( 4 | val data: T 5 | ) 6 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/scripts/test-script.sql: -------------------------------------------------------------------------------- 1 | delete from e_basic; 2 | 3 | -- some comment, select not useful here 4 | select count(*) from e_basic; 5 | -------------------------------------------------------------------------------- /ebean-querybean/README.md: -------------------------------------------------------------------------------- 1 | # ebean-querybean 2 | Type safe query extension for Ebean ORM 3 | 4 | Refer to the documentation at https://ebean.io/docs/query/query-beans 5 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/bean/example-bean.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": _, 3 | "name": "something", 4 | "other": null, 5 | "whenModified": _, 6 | "version": 1 7 | } 8 | -------------------------------------------------------------------------------- /platforms/clickhouse/src/main/resources/META-INF/services/io.ebean.config.dbplatform.DatabasePlatformProvider: -------------------------------------------------------------------------------- 1 | io.ebean.platform.clickhouse.ClickHousePlatformProvider 2 | -------------------------------------------------------------------------------- /platforms/sqlanywhere/src/main/resources/META-INF/services/io.ebean.config.dbplatform.DatabasePlatformProvider: -------------------------------------------------------------------------------- 1 | io.ebean.platform.sqlanywhere.SqlAnywherePlatformProvider 2 | -------------------------------------------------------------------------------- /platforms/sqlserver/src/main/java/io/ebean/platform/sqlserver/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * SqlServer specific support. 3 | */ 4 | package io.ebean.platform.sqlserver; 5 | -------------------------------------------------------------------------------- /tests/test-kotlin/src/main/kotlin/org/example/otherpackage/PhoneNumber.kt: -------------------------------------------------------------------------------- 1 | package org.example.otherpackage 2 | 3 | class PhoneNumber( 4 | val msisdn: String 5 | ) 6 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/search/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Provides text search expressions like Match, TextQueryString etc. 3 | */ 4 | package io.ebean.search; 5 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/api/SpiNamedParam.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.api; 2 | 3 | public interface SpiNamedParam { 4 | 5 | Object getValue(); 6 | } 7 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/model/interfaces/IPersona.java: -------------------------------------------------------------------------------- 1 | package org.tests.model.interfaces; 2 | 3 | public interface IPersona { 4 | 5 | String persona(); 6 | } 7 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/model/ivo/converter/AnEnumType.java: -------------------------------------------------------------------------------- 1 | package org.tests.model.ivo.converter; 2 | 3 | public enum AnEnumType { 4 | ONE, 5 | TWO 6 | } 7 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/contains/array-objects.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "a": 1 4 | }, 5 | { 6 | "b": 2 7 | }, 8 | { 9 | "c": 3 10 | } 11 | ] 12 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/scripts/test-script-2.sql: -------------------------------------------------------------------------------- 1 | delete from ${tableName}; 2 | 3 | -- some other comment, tableName is replaced 4 | select count(*) from ${tableName}; 5 | -------------------------------------------------------------------------------- /platforms/clickhouse/src/main/java/io/ebean/platform/clickhouse/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Clickhouse DB specific support. 3 | */ 4 | package io.ebean.platform.clickhouse; 5 | -------------------------------------------------------------------------------- /ebean-querybean/src/test/java/org/example/domain/otherpackage/Email.java: -------------------------------------------------------------------------------- 1 | package org.example.domain.otherpackage; 2 | 3 | public interface Email extends Comparable { 4 | } 5 | -------------------------------------------------------------------------------- /ebean-test/testconfig/ebean-sqlite.properties: -------------------------------------------------------------------------------- 1 | ebean.test.platform=sqlite 2 | datasource.default=sqlite-local 3 | ebean.test.dbName=test.sqlite 4 | ebean.autoReadOnlyDataSource=false -------------------------------------------------------------------------------- /platforms/sqlanywhere/src/main/java/io/ebean/platform/sqlanywhere/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * SqlAnywhere specific support. 3 | */ 4 | package io.ebean.platform.sqlanywhere; 5 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeanservice/docstore/api/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * The service API for document store integration. 3 | */ 4 | package io.ebeanservice.docstore.api; 5 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/scripts/test-script-2.sql: -------------------------------------------------------------------------------- 1 | delete from ${tableName}; 2 | 3 | -- some other comment, tableName is replaced 4 | select count(*) from ${tableName}; 5 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/contains/nested-array-missExpected.json: -------------------------------------------------------------------------------- 1 | { 2 | "someString1": "string1", 3 | "someArray1": [ 4 | {"name":"c"}, 5 | {"name":"a"} 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /tests/test-kotlin/src/main/kotlin/org/example/otherpackage/GenericTypeArgument.kt: -------------------------------------------------------------------------------- 1 | package org.example.otherpackage 2 | 3 | enum class GenericTypeArgument { 4 | FOO, 5 | BAR, 6 | } 7 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeanservice/docstore/api/mapping/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Mapping for document store integration. 3 | */ 4 | package io.ebeanservice.docstore.api.mapping; 5 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/main/java/io/ebean/dbmigration/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Generates DDL migration scripts based on changes to the model. 3 | */ 4 | package io.ebean.dbmigration; 5 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/example/plain-list.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 42, 4 | "name": "foo" 5 | }, 6 | { 7 | "id": 55, 8 | "name": "bar" 9 | } 10 | ] 11 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/type/ModifyAwareType.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.server.type; 2 | 3 | public interface ModifyAwareType { 4 | 5 | boolean isDirty(); 6 | } 7 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeanservice/docstore/api/support/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Support objects for implementing integration. 3 | */ 4 | package io.ebeanservice.docstore.api.support; 5 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/ebean.mf: -------------------------------------------------------------------------------- 1 | agent-use-only: true 2 | profile-location: true 3 | entity-packages: org,misc 4 | transactional-packages: org 5 | querybean-packages: none 6 | 7 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/contains/check-null-expected.json: -------------------------------------------------------------------------------- 1 | { 2 | "some": "val", 3 | "someNull": null, 4 | "extra": "notThere", 5 | "matchNull": null, 6 | "nullObject": null 7 | } 8 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/contains/nested-array.json: -------------------------------------------------------------------------------- 1 | { 2 | "someString1": "string1", 3 | "someArray1": [ 4 | {"name":"a"}, 5 | {"name":"b"}, 6 | {"name":"c"} 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /ebean-test/testconfig/ebean-clickhouse.properties: -------------------------------------------------------------------------------- 1 | ebean.test.platform=clickhouse 2 | ebean.test.dbName=clickhouse 3 | datasource.default=clickhouse 4 | datasource.clickhouse.autocommit=true 5 | 6 | -------------------------------------------------------------------------------- /composites/ebean/src/main/java/io/ebean/assembly/Assembly.java: -------------------------------------------------------------------------------- 1 | package io.ebean.assembly; 2 | 3 | /** 4 | * Nothing interesting here - look at ebean-api. 5 | */ 6 | public class Assembly { 7 | } 8 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/Expression.java: -------------------------------------------------------------------------------- 1 | package io.ebean; 2 | 3 | /** 4 | * An expression that is part of a WHERE or HAVING clause. 5 | */ 6 | public interface Expression { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/docstore/DocMapping.java: -------------------------------------------------------------------------------- 1 | package io.ebean.docstore; 2 | 3 | /** 4 | * Document Mapping for a bean marker interface. 5 | */ 6 | public interface DocMapping { 7 | } 8 | -------------------------------------------------------------------------------- /ebean-querybean/src/test/java/org/example/domain/otherpackage/GenericTypeArgument.java: -------------------------------------------------------------------------------- 1 | package org.example.domain.otherpackage; 2 | 3 | public enum GenericTypeArgument { 4 | FOO, 5 | BAR; 6 | } 7 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/contains/nested-array-both.json: -------------------------------------------------------------------------------- 1 | { 2 | "someString1": "string1", 3 | "someArray1": [ 4 | {"name":"z"}, 5 | {"name":"c"}, 6 | {"name":"a"} 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /ebean-test/testconfig/ebean-postgres.properties: -------------------------------------------------------------------------------- 1 | ebean.test.platform=postgres 2 | datasource.default=postgres 3 | ebean.test.dbName=unit 4 | ebean.test.postgres.version=16 5 | ebean.lengthCheck=on 6 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/mysql/procedures/mysql/idx_mysql.migrations: -------------------------------------------------------------------------------- 1 | 1835064798, I__create_procs.sql 2 | 1968521526, 1.0__initial.sql 3 | -728933533, 1.2__dropsFor_1.1.sql 4 | 5 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/contains/nested-array-ordering.json: -------------------------------------------------------------------------------- 1 | { 2 | "someString1": "string1", 3 | "someArray1": [ 4 | {"name":"c"}, 5 | {"name":"a"}, 6 | {"name":"b"} 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /platforms/all/src/main/java/io/ebean/platform/all/Assembly.java: -------------------------------------------------------------------------------- 1 | package io.ebean.platform.all; 2 | 3 | /** 4 | * Nothing interesting here - look at ebean-api. 5 | */ 6 | public class Assembly { 7 | } 8 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/docstore/DocUpdateContext.java: -------------------------------------------------------------------------------- 1 | package io.ebean.docstore; 2 | 3 | /** 4 | * Document update context marker interface. 5 | */ 6 | public interface DocUpdateContext { 7 | } 8 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/metric/CountMetricStats.java: -------------------------------------------------------------------------------- 1 | package io.ebean.metric; 2 | 3 | import io.ebean.meta.MetaCountMetric; 4 | 5 | public interface CountMetricStats extends MetaCountMetric { 6 | } 7 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/model/interfaces/IAddress.java: -------------------------------------------------------------------------------- 1 | package org.tests.model.interfaces; 2 | 3 | public interface IAddress { 4 | String getStreet(); 5 | 6 | void setStreet(String s); 7 | } 8 | -------------------------------------------------------------------------------- /ebean-test/testconfig/ebean-cockroach.properties: -------------------------------------------------------------------------------- 1 | ebean.test.platform=cockroach 2 | ebean.test.dbName=unit 3 | datasource.default=cockroach 4 | #ebean.test.cockroach.version=v21.2.6 5 | ebean.lengthCheck=on 6 | -------------------------------------------------------------------------------- /ebean-test/testconfig/ebean-yugabyte.properties: -------------------------------------------------------------------------------- 1 | ebean.test.platform=yugabyte 2 | datasource.default=yugabyte 3 | ebean.test.dbName=unit 4 | ebean.test.yugabyte.version=2.20.11.0-b34 5 | ebean.lengthCheck=on 6 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/docstore/DocQueryContext.java: -------------------------------------------------------------------------------- 1 | package io.ebean.docstore; 2 | 3 | /** 4 | * Document query request context marker interface. 5 | */ 6 | public interface DocQueryContext { 7 | } 8 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/api/SpiTransactionScopeManager.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.api; 2 | 3 | public interface SpiTransactionScopeManager { 4 | 5 | void replace(SpiTransaction t); 6 | } 7 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/assert/BaseTableDdlTest/createTable-rollbackFirst.txt: -------------------------------------------------------------------------------- 1 | alter table mytable drop constraint if exists fk_mytable_order_id; 2 | drop index if exists ix_mytable_order_id; 3 | 4 | -------------------------------------------------------------------------------- /ebean-redis/src/main/java/io/ebean/redis/encode/Encode.java: -------------------------------------------------------------------------------- 1 | package io.ebean.redis.encode; 2 | 3 | public interface Encode { 4 | 5 | byte[] encode(Object value); 6 | 7 | Object decode(byte[] data); 8 | } 9 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/contains/check-null-actual.json: -------------------------------------------------------------------------------- 1 | { 2 | "some": "val", 3 | "someNull": "actualNotNull", 4 | "matchNull": null, 5 | "nullObject": { 6 | "id": 42 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/test-properties/application.yaml: -------------------------------------------------------------------------------- 1 | app: 2 | one: Beta 3 | two: Two 4 | 5 | eval: 6 | home: ${user.home}/after 7 | name: ${user.name:bart} 8 | withDefault: ${withDefault:bart} 9 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/dbmigration/index/idx_postgres.migrations: -------------------------------------------------------------------------------- 1 | -965417868, I__init_1.sql 2 | 907060870, 1.0__hello.sql 3 | -1938594527, 1.1__foo.sql 4 | -1960070312, R__view_1.sql 5 | 6 | -------------------------------------------------------------------------------- /composites/ebean-db2/src/main/java/io/ebean/db2/assembly/Assembly.java: -------------------------------------------------------------------------------- 1 | package io.ebean.db2.assembly; 2 | 3 | /** 4 | * Nothing interesting here - required placeholder for javadoc. 5 | */ 6 | public class Assembly { 7 | } 8 | -------------------------------------------------------------------------------- /composites/ebean-h2/src/main/java/io/ebean/h2/assembly/Assembly.java: -------------------------------------------------------------------------------- 1 | package io.ebean.h2.assembly; 2 | 3 | /** 4 | * Nothing interesting here - required placeholder for javadoc. 5 | */ 6 | public class Assembly { 7 | } 8 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/service/BootstrapService.java: -------------------------------------------------------------------------------- 1 | package io.ebean.service; 2 | 3 | /** 4 | * Marker interface for internal services loaded at startup. 5 | */ 6 | public interface BootstrapService { 7 | } 8 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/bean/example-list-contains.json: -------------------------------------------------------------------------------- 1 | [ { 2 | "name": "something", 3 | "other": null, 4 | "version": 1 5 | }, { 6 | "name": "other", 7 | "other": null, 8 | "version": 1 9 | } ] 10 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/postgres/R__pg_indexes.sql: -------------------------------------------------------------------------------- 1 | 2 | -- postgres specific indexes 3 | create index ix_ebasic_jmjb_gin2 on ebasic_json_map_json_b using gin(content jsonb_path_ops); 4 | -------------------------------------------------------------------------------- /querybean-generator/README.md: -------------------------------------------------------------------------------- 1 | # querybean-generator 2 | Java annotation processor for generating query beans for type safe query construction. 3 | 4 | Refer to the documentation at: https://ebean.io/docs/query/query-beans 5 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ## Expected behavior 2 | 3 | ## Actual behavior 4 | 5 | ### Steps to reproduce 6 | 7 | ```java 8 | // some java code 9 | ``` 10 | 11 | ```console 12 | // some logging output 13 | ``` 14 | -------------------------------------------------------------------------------- /composites/ebean-hana/src/main/java/io/ebean/hana/assembly/Assembly.java: -------------------------------------------------------------------------------- 1 | package io.ebean.hana.assembly; 2 | 3 | /** 4 | * Nothing interesting here - required placeholder for javadoc. 5 | */ 6 | public class Assembly { 7 | } 8 | -------------------------------------------------------------------------------- /ebean-querybean/src/test/java/org/example/domain/api/ACity.java: -------------------------------------------------------------------------------- 1 | package org.example.domain.api; 2 | 3 | public interface ACity { 4 | 5 | long id(); 6 | 7 | String name(); 8 | 9 | ACountry country(); 10 | } 11 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/o2m/jointable/inheritance/ClassA.java: -------------------------------------------------------------------------------- 1 | package org.tests.o2m.jointable.inheritance; 2 | 3 | import jakarta.persistence.Entity; 4 | 5 | @Entity 6 | public class ClassA extends ClassSuper { 7 | } 8 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/o2m/jointable/inheritance/ClassB.java: -------------------------------------------------------------------------------- 1 | package org.tests.o2m.jointable.inheritance; 2 | 3 | import jakarta.persistence.Entity; 4 | 5 | @Entity 6 | public class ClassB extends ClassSuper { 7 | } 8 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/R__pg_indexes.sql: -------------------------------------------------------------------------------- 1 | 2 | -- postgres specific indexes 3 | create index ix_ebasic_jmjb_gin2 on ebasic_json_map_json_b using gin(content jsonb_path_ops); 4 | -------------------------------------------------------------------------------- /composites/ebean-mysql/src/main/java/io/ebean/mysql/assembly/Assembly.java: -------------------------------------------------------------------------------- 1 | package io.ebean.mysql.assembly; 2 | 3 | /** 4 | * Nothing interesting here - required placeholder for javadoc. 5 | */ 6 | public class Assembly { 7 | } 8 | -------------------------------------------------------------------------------- /composites/ebean-nuodb/src/main/java/io/ebean/nuodb/assembly/Assembly.java: -------------------------------------------------------------------------------- 1 | package io.ebean.nuodb.assembly; 2 | 3 | /** 4 | * Nothing interesting here - required placeholder for javadoc. 5 | */ 6 | public class Assembly { 7 | } 8 | -------------------------------------------------------------------------------- /composites/ebean-oracle/src/main/java/io/ebean/oracle/assembly/Assembly.java: -------------------------------------------------------------------------------- 1 | package io.ebean.oracle.assembly; 2 | 3 | /** 4 | * Nothing interesting here - required placeholder for javadoc. 5 | */ 6 | public class Assembly { 7 | } 8 | -------------------------------------------------------------------------------- /composites/ebean-sqlite/src/main/java/io/ebean/sqlite/assembly/Assembly.java: -------------------------------------------------------------------------------- 1 | package io.ebean.sqlite.assembly; 2 | 3 | /** 4 | * Nothing interesting here - required placeholder for javadoc. 5 | */ 6 | public class Assembly { 7 | } 8 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/model/interfaces/IPerson.java: -------------------------------------------------------------------------------- 1 | package org.tests.model.interfaces; 2 | 3 | public interface IPerson { 4 | IAddress getDefaultAddress(); 5 | 6 | void setDefaultAddress(IAddress address); 7 | } 8 | -------------------------------------------------------------------------------- /tests/test-java16/src/main/java/org/example/records/UserRoleId.java: -------------------------------------------------------------------------------- 1 | package org.example.records; 2 | 3 | import jakarta.persistence.Embeddable; 4 | 5 | @Embeddable 6 | public record UserRoleId(Integer userId, String roleId) { 7 | } 8 | -------------------------------------------------------------------------------- /composites/ebean-mariadb/src/main/java/io/ebean/mariadb/assembly/Assembly.java: -------------------------------------------------------------------------------- 1 | package io.ebean.mariadb.assembly; 2 | 3 | /** 4 | * Nothing interesting here - required placeholder for javadoc. 5 | */ 6 | public class Assembly { 7 | } 8 | -------------------------------------------------------------------------------- /composites/ebean-pgvector/src/main/java/io/ebean/pgvector/assembly/Assembly.java: -------------------------------------------------------------------------------- 1 | package io.ebean.pgvector.assembly; 2 | 3 | /** 4 | * Nothing interesting here - required placeholder for javadoc. 5 | */ 6 | public class Assembly { 7 | } 8 | -------------------------------------------------------------------------------- /composites/ebean-postgis/src/main/java/io/ebean/postgis/assembly/Assembly.java: -------------------------------------------------------------------------------- 1 | package io.ebean.postgis.assembly; 2 | 3 | /** 4 | * Nothing interesting here - required placeholder for javadoc. 5 | */ 6 | public class Assembly { 7 | } 8 | -------------------------------------------------------------------------------- /composites/ebean-postgres/src/main/java/io/ebean/postgres/assembly/Assembly.java: -------------------------------------------------------------------------------- 1 | package io.ebean.postgres.assembly; 2 | 3 | /** 4 | * Nothing interesting here - required placeholder for javadoc. 5 | */ 6 | public class Assembly { 7 | } 8 | -------------------------------------------------------------------------------- /composites/ebean-yugabyte/src/main/java/io/ebean/yugabyte/assembly/Assembly.java: -------------------------------------------------------------------------------- 1 | package io.ebean.yugabyte.assembly; 2 | 3 | /** 4 | * Nothing interesting here - required placeholder for javadoc. 5 | */ 6 | public class Assembly { 7 | } 8 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/grammer/EqlValueType.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.server.grammer; 2 | 3 | enum EqlValueType { 4 | POS_PARAM, 5 | NAMED_PARAM, 6 | STRING, 7 | BOOL, 8 | NUMBER 9 | } 10 | -------------------------------------------------------------------------------- /ebean-querybean/src/test/resources/ebean.mf: -------------------------------------------------------------------------------- 1 | entity-packages: org.example.domain 2 | querybean-packages: org.example.domain,org.querytest 3 | debug: 0 4 | synthetic: true 5 | entity-field-access: true 6 | profile-line-number-mode: auto 7 | 8 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/contains/nested-array-extraExpected.json: -------------------------------------------------------------------------------- 1 | { 2 | "someString1": "string1", 3 | "someArray1": [ 4 | {"name":"c"}, 5 | {"name":"a"}, 6 | {"name":"d"}, 7 | {"name":"b"} 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/ebean.mf: -------------------------------------------------------------------------------- 1 | agent-use-only: true 2 | profile-location: true 3 | entity-packages: org,misc 4 | transactional-packages: org 5 | querybean-packages: none 6 | synthetic: true 7 | allow-nullable-dbarray: true 8 | 9 | -------------------------------------------------------------------------------- /tests/test-java16/src/main/java/org/example/records/Address.java: -------------------------------------------------------------------------------- 1 | package org.example.records; 2 | 3 | import jakarta.persistence.Embeddable; 4 | 5 | @Embeddable 6 | public record Address (String line1, String line2, String city) { 7 | } 8 | -------------------------------------------------------------------------------- /composites/ebean-cockroach/src/main/java/io/ebean/cockroach/assembly/Assembly.java: -------------------------------------------------------------------------------- 1 | package io.ebean.cockroach.assembly; 2 | 3 | /** 4 | * Nothing interesting here - required placeholder for javadoc. 5 | */ 6 | public class Assembly { 7 | } 8 | -------------------------------------------------------------------------------- /composites/ebean-net-postgis/src/main/java/io/ebean/postgis/assembly/Assembly.java: -------------------------------------------------------------------------------- 1 | package io.ebean.postgis.assembly; 2 | 3 | /** 4 | * Nothing interesting here - required placeholder for javadoc. 5 | */ 6 | public class Assembly { 7 | } 8 | -------------------------------------------------------------------------------- /composites/ebean-sqlserver/src/main/java/io/ebean/sqlserver/assembly/Assembly.java: -------------------------------------------------------------------------------- 1 | package io.ebean.sqlserver.assembly; 2 | 3 | /** 4 | * Nothing interesting here - required placeholder for javadoc. 5 | */ 6 | public class Assembly { 7 | } 8 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/bean/EnhancedTransactional.java: -------------------------------------------------------------------------------- 1 | package io.ebean.bean; 2 | 3 | /** 4 | * Marker interface for classes enhanced to support Transactional methods. 5 | */ 6 | public interface EnhancedTransactional { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/contains/array-objects-shuffled.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": "tyu", 4 | "c": 3 5 | }, 6 | { 7 | "id": "zxy", 8 | "a": 1 9 | }, 10 | { 11 | "id": "123", 12 | "b": 2 13 | } 14 | ] -------------------------------------------------------------------------------- /composites/ebean-clickhouse/src/main/java/io/ebean/clickhouse/assembly/Assembly.java: -------------------------------------------------------------------------------- 1 | package io.ebean.clickhouse.assembly; 2 | 3 | /** 4 | * Nothing interesting here - required placeholder for javadoc. 5 | */ 6 | public class Assembly { 7 | } 8 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/model/bridge/BAccessLevel.java: -------------------------------------------------------------------------------- 1 | package org.tests.model.bridge; 2 | 3 | /** 4 | * Simple enum for our bridge table tests. 5 | */ 6 | public enum BAccessLevel { 7 | ONE, 8 | TWO, 9 | THREE 10 | } 11 | -------------------------------------------------------------------------------- /querybean-generator/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | module io.ebean.querybean.generator { 2 | 3 | provides javax.annotation.processing.Processor with io.ebean.querybean.generator.Processor; 4 | 5 | requires java.compiler; 6 | requires java.sql; 7 | } 8 | -------------------------------------------------------------------------------- /tests/test-java16/src/main/java/org/example/records/UserSiteId.java: -------------------------------------------------------------------------------- 1 | package org.example.records; 2 | 3 | import jakarta.persistence.Embeddable; 4 | import java.util.UUID; 5 | 6 | @Embeddable 7 | public record UserSiteId(UUID userId, UUID siteId) { 8 | } 9 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/core/EncryptAlias.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.server.core; 2 | 3 | /** 4 | * Used to create column alias for encrypted columns. 5 | */ 6 | public interface EncryptAlias { 7 | String PREFIX = "zx__"; 8 | } 9 | -------------------------------------------------------------------------------- /ebean-spring-txn/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | module io.ebean.spring.txn { 2 | 3 | exports io.ebean.spring.txn; 4 | 5 | requires io.ebean.api; 6 | requires io.ebean.core; 7 | requires spring.jdbc; 8 | requires spring.tx; 9 | } 10 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/generic/idx_generic.migrations: -------------------------------------------------------------------------------- 1 | -1547037623, 1.0__initial.sql 2 | 563570833, 1.1.sql 3 | 688811494, 1.2__dropsFor_1.1.sql 4 | -2063620782, 1.3.sql 5 | 1436420661, 1.4__dropsFor_1.3.sql 6 | 7 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/idx_generic.migrations: -------------------------------------------------------------------------------- 1 | -1547037623, 1.0__initial.sql 2 | 563570833, 1.1.sql 3 | 688811494, 1.2__dropsFor_1.1.sql 4 | -2063620782, 1.3.sql 5 | 1436420661, 1.4__dropsFor_1.3.sql 6 | 7 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/clickhouse/idx_clickhouse.migrations: -------------------------------------------------------------------------------- 1 | 193400547, 1.0__initial.sql 2 | -1021430823, 1.1.sql 3 | 688811494, 1.2__dropsFor_1.1.sql 4 | 1015552567, 1.3.sql 5 | 1436420661, 1.4__dropsFor_1.3.sql 6 | 7 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/sqlanywhere/idx_sqlanywhere.migrations: -------------------------------------------------------------------------------- 1 | -391639901, 1.0__initial.sql 2 | 1808590378, 1.1.sql 3 | 688811494, 1.2__dropsFor_1.1.sql 4 | 1045944057, 1.3.sql 5 | 1436420661, 1.4__dropsFor_1.3.sql 6 | 7 | -------------------------------------------------------------------------------- /ebean-querybean/src/test/java/org/example/domain/PFile.java: -------------------------------------------------------------------------------- 1 | package org.example.domain; 2 | 3 | import jakarta.persistence.Entity; 4 | import jakarta.persistence.Id; 5 | 6 | @Entity 7 | public class PFile { 8 | 9 | @Id 10 | long id; 11 | String name; 12 | } 13 | -------------------------------------------------------------------------------- /ebean-querybean/src/test/java/org/example/domain/PLong.java: -------------------------------------------------------------------------------- 1 | package org.example.domain; 2 | 3 | import jakarta.persistence.Entity; 4 | import jakarta.persistence.Id; 5 | 6 | @Entity 7 | public class PLong { 8 | 9 | @Id 10 | long id; 11 | String name; 12 | } 13 | -------------------------------------------------------------------------------- /kotlin-querybean-generator/src/test/resources/application-test.properties: -------------------------------------------------------------------------------- 1 | ebean.ddl.generate=true 2 | ebean.ddl.run=true 3 | #datasource.default=h2 4 | 5 | datasource.db.username=sa 6 | datasource.db.password= 7 | datasource.db.url=jdbc:h2:mem:testKotlin 8 | 9 | 10 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/api/LoadManyContext.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.api; 2 | 3 | 4 | /** 5 | * Controls the loading of OneToMany and ManyToMany relationships. 6 | */ 7 | public interface LoadManyContext extends LoadSecondaryQuery { 8 | 9 | } 10 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/expression/UnsupportedDocStoreExpression.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.server.expression; 2 | 3 | /** 4 | * Marked interface for expressions unsupported in doc store. 5 | */ 6 | public interface UnsupportedDocStoreExpression { 7 | } 8 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/dbmigration/index2/idx_h2.migrations: -------------------------------------------------------------------------------- 1 | -965417868, I__init_1.sql 2 | -390611389, g1/1.0__a.sql 3 | 1908338681, g1/1.1__b.sql 4 | -1776543936, g2/2.0__a.sql 5 | 253052666, g2/2.1__2b.sql 6 | -1960070312, R__view_1.sql 7 | 8 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/mysql/procedures/mysql/1.2__dropsFor_1.1.sql: -------------------------------------------------------------------------------- 1 | -- Migrationscripts for ebean unittest 2 | -- apply changes 3 | CALL usp_ebean_drop_column('migtest_e_basic', 'status2'); 4 | 5 | CALL usp_ebean_drop_column('migtest_e_basic', 'description'); 6 | 7 | -------------------------------------------------------------------------------- /ebean-querybean/src/test/java/org/example/domain/Pinstant.java: -------------------------------------------------------------------------------- 1 | package org.example.domain; 2 | 3 | import jakarta.persistence.Entity; 4 | import jakarta.persistence.Id; 5 | 6 | @Entity 7 | public class Pinstant { 8 | 9 | @Id 10 | long id; 11 | String name; 12 | } 13 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/contains/array-multi-match.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "a": 1 4 | }, 5 | { 6 | "b": 2 7 | }, 8 | { 9 | "c": 3 10 | }, 11 | { 12 | "d": 4 13 | }, 14 | { 15 | "e": 5 16 | }, 17 | { 18 | "f": 6 19 | } 20 | ] 21 | -------------------------------------------------------------------------------- /ebean-test/testconfig/ebean-mysql.properties: -------------------------------------------------------------------------------- 1 | # this starts a mysql instance on port 13306 2 | ebean.test.platform=mysql 3 | ebean.test.dbName=test_ebean 4 | # note: do not conflict with mariadb port 5 | #ebean.test.mysql.port=4306 6 | datasource.default=mysql 7 | ebean.lengthCheck=on 8 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/plugin/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Provides a API for plugins. 3 | *

4 | * Plugins can get and read meta data about the entity beans and enhance or utilise the 5 | * functionality of the Database. 6 | *

7 | */ 8 | package io.ebean.plugin; 9 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/api/SpiSqlQuery.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.api; 2 | 3 | import io.ebean.SqlQuery; 4 | 5 | /** 6 | * SQL query - Internal extension to SqlQuery. 7 | */ 8 | public interface SpiSqlQuery extends SqlQuery, SpiSqlBinding { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /ebean-test/testconfig/ebean-hana.properties: -------------------------------------------------------------------------------- 1 | # Note: You need a running docker container. See howto-test.md for details 2 | datasource.default=hana 3 | datasource.hana.username=SYSTEM 4 | datasource.hana.password=VeryVerySecret#1234 5 | datasource.hana.url=jdbc:sap://localhost:39041/ 6 | 7 | -------------------------------------------------------------------------------- /ebean-test/testconfig/ebean-mariadb-10.6.properties: -------------------------------------------------------------------------------- 1 | ebean.test.platform=mariadb 2 | ebean.test.dbName=unit 3 | ebean.test.mariadb.version=10.6 4 | ebean.test.mariadb.containerName=ut_mariadb-10-6 5 | ebean.test.mariadb.port=14307 6 | datasource.default=mariadb-106 7 | ebean.lengthCheck=on 8 | -------------------------------------------------------------------------------- /ebean-test/testconfig/ebean-mariadb.properties: -------------------------------------------------------------------------------- 1 | ebean.test.platform=mariadb 2 | ebean.test.dbName=unit 3 | ebean.test.mariadb.version=10.11 4 | ebean.test.mariadb.containerName=ut_mariadb-10-11 5 | ebean.test.mariadb.port=14309 6 | datasource.default=mariadb 7 | ebean.lengthCheck=on 8 | 9 | -------------------------------------------------------------------------------- /platforms/db2/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | module io.ebean.platform.db2 { 2 | 3 | exports io.ebean.platform.db2; 4 | 5 | requires transitive io.ebean.api; 6 | 7 | provides io.ebean.config.dbplatform.DatabasePlatformProvider with io.ebean.platform.db2.Db2PlatformProvider; 8 | } 9 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/cache/CacheChange.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.server.cache; 2 | 3 | /** 4 | * A change to the cache. 5 | */ 6 | public interface CacheChange { 7 | 8 | /** 9 | * Apply the change. 10 | */ 11 | void apply(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/assert/BaseTableDdlTest/createTable-applyLast.txt: -------------------------------------------------------------------------------- 1 | create index ix_mytable_order_id on mytable (order_id); 2 | alter table mytable add constraint fk_mytable_order_id foreign key (order_id) references orders (id) on delete restrict on update restrict; 3 | 4 | -------------------------------------------------------------------------------- /platforms/hana/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | module io.ebean.platform.hana { 2 | 3 | exports io.ebean.platform.hana; 4 | 5 | requires transitive io.ebean.api; 6 | 7 | provides io.ebean.config.dbplatform.DatabasePlatformProvider with io.ebean.platform.hana.HanaPlatformProvider; 8 | } 9 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | 3 | root = true 4 | 5 | [*] 6 | charset = utf-8 7 | end_of_line = lf 8 | indent_size = 2 9 | indent_style = space 10 | insert_final_newline = true 11 | trim_trailing_whitespace = true 12 | spaces_around_operators = true 13 | max_line_length = 130 14 | -------------------------------------------------------------------------------- /composites/ebean/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | module io.ebean { 2 | 3 | requires transitive io.ebean.api; 4 | requires transitive io.ebean.core; 5 | requires transitive io.ebean.datasource; 6 | requires transitive io.ebean.querybean; 7 | requires transitive io.ebean.platform.all; 8 | } 9 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/cache/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Server Cache Service 5 | 6 | 7 | Server Cache Service 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/main/java/io/ebeaninternal/extraddl/model/package-info.java: -------------------------------------------------------------------------------- 1 | @jakarta.xml.bind.annotation.XmlSchema(namespace = "http://ebean-orm.github.io/xml/ns/extraddl", elementFormDefault = jakarta.xml.bind.annotation.XmlNsForm.QUALIFIED) 2 | package io.ebeaninternal.extraddl.model; 3 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/inheritance/bothsides/Target2.java: -------------------------------------------------------------------------------- 1 | package org.tests.inheritance.bothsides; 2 | 3 | import jakarta.persistence.Entity; 4 | 5 | @Entity 6 | public class Target2 extends TargetBase { 7 | public Target2(String name) { 8 | super(name); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/contains/array-multi-match-duplicate-props.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "b": 2, 4 | "c": 3 5 | }, 6 | { 7 | "d": 4, 8 | "e": 5 9 | }, 10 | { 11 | "a": 1, 12 | "b": 2, 13 | "c": 3 14 | }, 15 | { 16 | "b": 2 17 | } 18 | ] 19 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/idx_db2.migrations: -------------------------------------------------------------------------------- 1 | -1467839063, 1.0__initial.sql 2 | 1478696712, 1.1.sql 3 | 471523099, 1.2__dropsFor_1.1.sql 4 | -1492660695, 1.3.sql 5 | 1942648765, 1.4__dropsFor_1.3.sql 6 | 561281075, R__order_views.sql 7 | 8 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/idx_db2.migrations: -------------------------------------------------------------------------------- 1 | 2058232717, 1.0__initial.sql 2 | -511385035, 1.1.sql 3 | 471523099, 1.2__dropsFor_1.1.sql 4 | 1941819734, 1.3.sql 5 | 1942648765, 1.4__dropsFor_1.3.sql 6 | 561281075, R__order_views.sql 7 | 8 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/idx_nuodb.migrations: -------------------------------------------------------------------------------- 1 | 390216918, 1.0__initial.sql 2 | -1064172809, 1.1.sql 3 | 1530685455, 1.2__dropsFor_1.1.sql 4 | 1350701890, 1.3.sql 5 | -381446847, 1.4__dropsFor_1.3.sql 6 | 561281075, R__order_views.sql 7 | 8 | -------------------------------------------------------------------------------- /platforms/mysql/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | module io.ebean.platform.mysql { 2 | 3 | exports io.ebean.platform.mysql; 4 | 5 | requires transitive io.ebean.api; 6 | 7 | provides io.ebean.config.dbplatform.DatabasePlatformProvider with io.ebean.platform.mysql.MySqlPlatformProvider; 8 | } 9 | -------------------------------------------------------------------------------- /platforms/nuodb/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | module io.ebean.platform.nuodb { 2 | 3 | exports io.ebean.platform.nuodb; 4 | 5 | requires transitive io.ebean.api; 6 | 7 | provides io.ebean.config.dbplatform.DatabasePlatformProvider with io.ebean.platform.nuodb.NuoDbPlatformProvider; 8 | } 9 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/api/SpiCacheRegion.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.api; 2 | 3 | import io.ebean.cache.ServerCacheRegion; 4 | 5 | /** 6 | * Cache region can be enabled independently. 7 | */ 8 | public interface SpiCacheRegion extends ServerCacheRegion { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/model/join/BankAccount.java: -------------------------------------------------------------------------------- 1 | package org.tests.model.join; 2 | 3 | import jakarta.persistence.DiscriminatorValue; 4 | import jakarta.persistence.Entity; 5 | 6 | @DiscriminatorValue("B") 7 | @Entity 8 | public class BankAccount extends HAccount { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /platforms/oracle/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | module io.ebean.platform.oracle { 2 | 3 | exports io.ebean.platform.oracle; 4 | 5 | requires transitive io.ebean.api; 6 | 7 | provides io.ebean.config.dbplatform.DatabasePlatformProvider with io.ebean.platform.oracle.OraclePlatformProvider; 8 | } 9 | -------------------------------------------------------------------------------- /platforms/sqlite/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | module io.ebean.platform.sqlite { 2 | 3 | exports io.ebean.platform.sqlite; 4 | 5 | requires transitive io.ebean.api; 6 | 7 | provides io.ebean.config.dbplatform.DatabasePlatformProvider with io.ebean.platform.sqlite.SqlitePlatformProvider; 8 | } 9 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/meta/MetaMetric.java: -------------------------------------------------------------------------------- 1 | package io.ebean.meta; 2 | 3 | /** 4 | * Metrics collected by Ebean including timed metrics and counters. 5 | */ 6 | public interface MetaMetric { 7 | 8 | /** 9 | * Return the metric name. 10 | */ 11 | String name(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/api/SpiCallableSql.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.api; 2 | 3 | import io.ebean.CallableSql; 4 | 5 | public interface SpiCallableSql extends CallableSql { 6 | 7 | BindParams bindParams(); 8 | 9 | TransactionEventTable transactionEventTable(); 10 | } 11 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/inheritance/bothsides/Target1.java: -------------------------------------------------------------------------------- 1 | package org.tests.inheritance.bothsides; 2 | 3 | import jakarta.persistence.Entity; 4 | 5 | @Entity 6 | public class Target1 extends TargetBase { 7 | 8 | public Target1(String name) { 9 | super(name); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/iud/PcfEvent.java: -------------------------------------------------------------------------------- 1 | package org.tests.iud; 2 | 3 | import jakarta.persistence.Entity; 4 | 5 | @Entity 6 | public class PcfEvent extends PcfModel { 7 | 8 | final String name; 9 | 10 | public PcfEvent(String name) { 11 | this.name = name; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/model/join/AccountAccess.java: -------------------------------------------------------------------------------- 1 | package org.tests.model.join; 2 | 3 | import jakarta.persistence.DiscriminatorValue; 4 | import jakarta.persistence.Entity; 5 | 6 | @DiscriminatorValue("A") 7 | @Entity 8 | public class AccountAccess extends HAccess { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/model/join/CustomerAccess.java: -------------------------------------------------------------------------------- 1 | package org.tests.model.join; 2 | 3 | import jakarta.persistence.DiscriminatorValue; 4 | import jakarta.persistence.Entity; 5 | 6 | @DiscriminatorValue("C") 7 | @Entity 8 | public class CustomerAccess extends HAccess { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/cockroach/idx_cockroach.migrations: -------------------------------------------------------------------------------- 1 | -1873582099, 1.0__initial.sql 2 | -105047402, 1.1.sql 3 | 856096334, 1.2__dropsFor_1.1.sql 4 | -1876375912, 1.3.sql 5 | -1416035730, 1.4__dropsFor_1.3.sql 6 | 561281075, R__order_views.sql 7 | 8 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/hsqldb/idx_hsqldb.migrations: -------------------------------------------------------------------------------- 1 | 1833930558, 1.0__initial.sql 2 | 277065890, 1.1.sql 3 | -848622216, 1.2__dropsFor_1.1.sql 4 | 804751800, 1.3.sql 5 | -1765256531, 1.4__dropsFor_1.3.sql 6 | 861001272, R__order_views_hsqldb.sql 7 | 8 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/idx_sqlite.migrations: -------------------------------------------------------------------------------- 1 | -1527127682, 1.0__initial.sql 2 | 728006469, 1.1.sql 3 | 688811494, 1.2__dropsFor_1.1.sql 4 | 911910601, 1.3.sql 5 | 1436420661, 1.4__dropsFor_1.3.sql 6 | 2034589659, R__order_views_sqlite.sql 7 | 8 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/yugabyte/idx_yugabyte.migrations: -------------------------------------------------------------------------------- 1 | -1522959794, 1.0__initial.sql 2 | -2041267516, 1.1.sql 3 | -328303888, 1.2__dropsFor_1.1.sql 4 | -778024154, 1.3.sql 5 | -1371008923, 1.4__dropsFor_1.3.sql 6 | 561281075, R__order_views.sql 7 | 8 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/meta/MetaCountMetric.java: -------------------------------------------------------------------------------- 1 | package io.ebean.meta; 2 | 3 | /** 4 | * Count metrics. For example L2 cache hits. 5 | */ 6 | public interface MetaCountMetric extends MetaMetric { 7 | 8 | /** 9 | * Return the total count. 10 | */ 11 | long count(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/migration/package-info.java: -------------------------------------------------------------------------------- 1 | @jakarta.xml.bind.annotation.XmlSchema(namespace = "http://ebean-orm.github.io/xml/ns/dbmigration", elementFormDefault = jakarta.xml.bind.annotation.XmlNsForm.QUALIFIED) 2 | package io.ebeaninternal.dbmigration.migration; 3 | -------------------------------------------------------------------------------- /ebean-spring-txn/.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | 3 | root = true 4 | 5 | [*] 6 | charset = utf-8 7 | end_of_line = lf 8 | indent_size = 2 9 | indent_style = space 10 | insert_final_newline = true 11 | trim_trailing_whitespace = true 12 | spaces_around_operators = true 13 | max_line_length = 130 14 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/bean/example-list-match.json: -------------------------------------------------------------------------------- 1 | [ { 2 | "id": "*", 3 | "name": "something", 4 | "other": null, 5 | "whenModified": "*", 6 | "version": 1 7 | }, { 8 | "id": "*", 9 | "name": "other", 10 | "other": null, 11 | "whenModified": "*", 12 | "version": 1 13 | } ] 14 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/mariadb-noprocs/idx_mariadb.migrations: -------------------------------------------------------------------------------- 1 | -2111548334, 1.0__initial.sql 2 | 1085383251, 1.1.sql 3 | 919151678, 1.2__dropsFor_1.1.sql 4 | -1145514481, 1.3.sql 5 | -924292968, 1.4__dropsFor_1.3.sql 6 | 561281075, R__order_views.sql 7 | 8 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.autofetch 2 | *.orig 3 | .classpath 4 | .project 5 | .settings/ 6 | target/ 7 | logs/ 8 | log/ 9 | ebean-autotune.xml 10 | ebean-profiling*.xml 11 | /db 12 | /mydb.db 13 | profiling/ 14 | .DS_Store 15 | 16 | # Intellij project files 17 | *.iml 18 | *.ipr 19 | *.iws 20 | .idea/ 21 | *uuid.state 22 | -------------------------------------------------------------------------------- /composites/ebean-h2/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | module io.ebean.h2 { 2 | 3 | requires transitive io.ebean.api; 4 | requires transitive io.ebean.core; 5 | requires transitive io.ebean.datasource; 6 | requires transitive io.ebean.querybean; 7 | requires transitive io.ebean.platform.h2; 8 | 9 | } 10 | -------------------------------------------------------------------------------- /ebean-core-type/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | module io.ebean.core.type { 2 | 3 | exports io.ebean.core.type; 4 | 5 | requires transitive java.sql; 6 | requires transitive io.ebean.api; 7 | requires static org.postgresql.jdbc; 8 | 9 | requires static com.fasterxml.jackson.core; 10 | 11 | } 12 | -------------------------------------------------------------------------------- /ebean-querybean/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | module io.ebean.querybean { 2 | 3 | exports io.ebean.typequery; 4 | 5 | requires io.ebean.api; 6 | requires io.ebean.core; 7 | requires static io.ebean.types; 8 | requires static org.joda.time; 9 | requires static io.avaje.jsr305x; 10 | 11 | } 12 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/hana/R__order_views_hana.sql: -------------------------------------------------------------------------------- 1 | 2 | create view order_agg_vw as 3 | select d.order_id, sum(d.order_qty * d.unit_price) as order_total, 4 | sum(d.ship_qty * d.unit_price) as ship_total 5 | from o_order_detail d 6 | group by d.order_id; 7 | -------------------------------------------------------------------------------- /platforms/h2/src/main/java/io/ebean/platform/h2/H2HistorySupport.java: -------------------------------------------------------------------------------- 1 | package io.ebean.platform.h2; 2 | 3 | import io.ebean.config.dbplatform.DbViewHistorySupport; 4 | 5 | /** 6 | * Runtime support for @History with H2. 7 | */ 8 | public class H2HistorySupport extends DbViewHistorySupport { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /platforms/sqlserver/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | module io.ebean.platform.sqlserver { 2 | 3 | exports io.ebean.platform.sqlserver; 4 | 5 | requires transitive io.ebean.api; 6 | 7 | provides io.ebean.config.dbplatform.DatabasePlatformProvider with io.ebean.platform.sqlserver.SqlServerPlatformProvider; 8 | } 9 | -------------------------------------------------------------------------------- /composites/ebean-db2/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | module io.ebean.db2 { 2 | 3 | requires transitive io.ebean.api; 4 | requires transitive io.ebean.core; 5 | requires transitive io.ebean.datasource; 6 | requires transitive io.ebean.querybean; 7 | requires transitive io.ebean.platform.db2; 8 | 9 | } 10 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/deploy/generatedproperty/GeneratedWhenCreated.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.server.deploy.generatedproperty; 2 | 3 | /** 4 | * Marker interface for all implementations mapping to @WhenCreated or @CreatedTimestamp. 5 | */ 6 | public interface GeneratedWhenCreated { 7 | } 8 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeArray.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.server.type; 2 | 3 | /** 4 | * DB Array types. 5 | */ 6 | public interface ScalarTypeArray { 7 | 8 | /** 9 | * Return the underlying DB column type. 10 | */ 11 | String getDbColumnDefn(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/rawsql/transport/SampleReport.java: -------------------------------------------------------------------------------- 1 | package org.tests.rawsql.transport; 2 | 3 | import jakarta.persistence.Entity; 4 | import java.sql.Date; 5 | 6 | @Entity 7 | public class SampleReport { 8 | Long id; 9 | String name; 10 | Date anniversary; 11 | String city; 12 | } 13 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/db2luw/R__order_views.sql: -------------------------------------------------------------------------------- 1 | 2 | create or replace view order_agg_vw as 3 | select d.order_id, sum(d.order_qty * d.unit_price) as order_total, 4 | sum(d.ship_qty * d.unit_price) as ship_total 5 | from o_order_detail d 6 | group by d.order_id 7 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/R__order_views.sql: -------------------------------------------------------------------------------- 1 | 2 | create or replace view order_agg_vw as 3 | select d.order_id, sum(d.order_qty * d.unit_price) as order_total, 4 | sum(d.ship_qty * d.unit_price) as ship_total 5 | from o_order_detail d 6 | group by d.order_id 7 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/h2/R__order_views.sql: -------------------------------------------------------------------------------- 1 | 2 | create or replace view order_agg_vw as 3 | select d.order_id, sum(d.order_qty * d.unit_price) as order_total, 4 | sum(d.ship_qty * d.unit_price) as ship_total 5 | from o_order_detail d 6 | group by d.order_id 7 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/mysql/R__order_views.sql: -------------------------------------------------------------------------------- 1 | 2 | create or replace view order_agg_vw as 3 | select d.order_id, sum(d.order_qty * d.unit_price) as order_total, 4 | sum(d.ship_qty * d.unit_price) as ship_total 5 | from o_order_detail d 6 | group by d.order_id 7 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/R__order_views.sql: -------------------------------------------------------------------------------- 1 | 2 | create or replace view order_agg_vw as 3 | select d.order_id, sum(d.order_qty * d.unit_price) as order_total, 4 | sum(d.ship_qty * d.unit_price) as ship_total 5 | from o_order_detail d 6 | group by d.order_id 7 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/oracle/R__order_views.sql: -------------------------------------------------------------------------------- 1 | 2 | create or replace view order_agg_vw as 3 | select d.order_id, sum(d.order_qty * d.unit_price) as order_total, 4 | sum(d.ship_qty * d.unit_price) as ship_total 5 | from o_order_detail d 6 | group by d.order_id 7 | -------------------------------------------------------------------------------- /platforms/clickhouse/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | module io.ebean.platform.clickhouse { 2 | 3 | exports io.ebean.platform.clickhouse; 4 | 5 | requires transitive io.ebean.api; 6 | 7 | provides io.ebean.config.dbplatform.DatabasePlatformProvider with io.ebean.platform.clickhouse.ClickHousePlatformProvider; 8 | } 9 | -------------------------------------------------------------------------------- /composites/ebean-hana/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | module io.ebean.hana { 2 | 3 | requires transitive io.ebean.api; 4 | requires transitive io.ebean.core; 5 | requires transitive io.ebean.datasource; 6 | requires transitive io.ebean.querybean; 7 | requires transitive io.ebean.platform.hana; 8 | 9 | } 10 | -------------------------------------------------------------------------------- /composites/ebean-mysql/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | module io.ebean.mysql { 2 | 3 | requires transitive io.ebean.api; 4 | requires transitive io.ebean.core; 5 | requires transitive io.ebean.datasource; 6 | requires transitive io.ebean.querybean; 7 | requires transitive io.ebean.platform.mysql; 8 | 9 | } 10 | -------------------------------------------------------------------------------- /composites/ebean-nuodb/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | module io.ebean.nuodb { 2 | 3 | requires transitive io.ebean.api; 4 | requires transitive io.ebean.core; 5 | requires transitive io.ebean.datasource; 6 | requires transitive io.ebean.querybean; 7 | requires transitive io.ebean.platform.nuodb; 8 | 9 | } 10 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/deploy/generatedproperty/GeneratedWhenModified.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.server.deploy.generatedproperty; 2 | 3 | /** 4 | * Marker interface for all implementations mapping to @WhenModified or @UpdatedTimestamp. 5 | */ 6 | public interface GeneratedWhenModified { 7 | } 8 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/idgen/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Id Generation 5 | 6 | 7 | Id Generation (Sequences, UUIDGen etc) 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/type/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Scalar Type support 5 | 6 | 7 | Built in and custom Scalar types support. 8 | 9 | 10 | -------------------------------------------------------------------------------- /ebean-querybean/src/test/java/org/example/domain/other/OtherBean.java: -------------------------------------------------------------------------------- 1 | package org.example.domain.other; 2 | 3 | import jakarta.persistence.Entity; 4 | import jakarta.persistence.Id; 5 | 6 | @SuppressWarnings("unused") 7 | @Entity 8 | public class OtherBean { 9 | 10 | @Id 11 | long id; 12 | String name; 13 | } 14 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/misc/migration/v1_1/EUser.java: -------------------------------------------------------------------------------- 1 | package misc.migration.v1_1; 2 | 3 | import jakarta.persistence.Entity; 4 | import jakarta.persistence.Id; 5 | import jakarta.persistence.Table; 6 | 7 | @Entity 8 | @Table(name = "migtest_e_user") 9 | public class EUser { 10 | 11 | @Id 12 | Integer id; 13 | } -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/model/inheritexposedtype/IXPhoto.java: -------------------------------------------------------------------------------- 1 | package org.tests.model.inheritexposedtype; 2 | 3 | import jakarta.persistence.DiscriminatorValue; 4 | import jakarta.persistence.Entity; 5 | 6 | @Entity 7 | @DiscriminatorValue("photo") 8 | public class IXPhoto extends IXResource { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest-history/dbmigration/R__order_views.sql: -------------------------------------------------------------------------------- 1 | 2 | create or replace view order_agg_vw as 3 | select d.order_id, sum(d.order_qty * d.unit_price) as order_total, 4 | sum(d.ship_qty * d.unit_price) as ship_total 5 | from o_order_detail d 6 | group by d.order_id 7 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/cockroach/R__order_views.sql: -------------------------------------------------------------------------------- 1 | 2 | create or replace view order_agg_vw as 3 | select d.order_id, sum(d.order_qty * d.unit_price) as order_total, 4 | sum(d.ship_qty * d.unit_price) as ship_total 5 | from o_order_detail d 6 | group by d.order_id 7 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/R__order_views.sql: -------------------------------------------------------------------------------- 1 | 2 | create or replace view order_agg_vw as 3 | select d.order_id, sum(d.order_qty * d.unit_price) as order_total, 4 | sum(d.ship_qty * d.unit_price) as ship_total 5 | from o_order_detail d 6 | group by d.order_id 7 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/mariadb/R__order_views.sql: -------------------------------------------------------------------------------- 1 | 2 | create or replace view order_agg_vw as 3 | select d.order_id, sum(d.order_qty * d.unit_price) as order_total, 4 | sum(d.ship_qty * d.unit_price) as ship_total 5 | from o_order_detail d 6 | group by d.order_id 7 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/mysql55/R__order_views.sql: -------------------------------------------------------------------------------- 1 | 2 | create or replace view order_agg_vw as 3 | select d.order_id, sum(d.order_qty * d.unit_price) as order_total, 4 | sum(d.ship_qty * d.unit_price) as ship_total 5 | from o_order_detail d 6 | group by d.order_id 7 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/oracle11/R__order_views.sql: -------------------------------------------------------------------------------- 1 | 2 | create or replace view order_agg_vw as 3 | select d.order_id, sum(d.order_qty * d.unit_price) as order_total, 4 | sum(d.ship_qty * d.unit_price) as ship_total 5 | from o_order_detail d 6 | group by d.order_id 7 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/postgres/R__order_views.sql: -------------------------------------------------------------------------------- 1 | 2 | create or replace view order_agg_vw as 3 | select d.order_id, sum(d.order_qty * d.unit_price) as order_total, 4 | sum(d.ship_qty * d.unit_price) as ship_total 5 | from o_order_detail d 6 | group by d.order_id 7 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/R__order_views.sql: -------------------------------------------------------------------------------- 1 | 2 | create or replace view order_agg_vw as 3 | select d.order_id, sum(d.order_qty * d.unit_price) as order_total, 4 | sum(d.ship_qty * d.unit_price) as ship_total 5 | from o_order_detail d 6 | group by d.order_id 7 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/yugabyte/R__order_views.sql: -------------------------------------------------------------------------------- 1 | 2 | create or replace view order_agg_vw as 3 | select d.order_id, sum(d.order_qty * d.unit_price) as order_total, 4 | sum(d.ship_qty * d.unit_price) as ship_total 5 | from o_order_detail d 6 | group by d.order_id 7 | -------------------------------------------------------------------------------- /platforms/sqlanywhere/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | module io.ebean.platform.sqlanywhere { 2 | 3 | exports io.ebean.platform.sqlanywhere; 4 | 5 | requires transitive io.ebean.api; 6 | 7 | provides io.ebean.config.dbplatform.DatabasePlatformProvider with io.ebean.platform.sqlanywhere.SqlAnywherePlatformProvider; 8 | } 9 | -------------------------------------------------------------------------------- /tests/test-kotlin/src/main/kotlin/org/example/otherpackage/ValidEmail.kt: -------------------------------------------------------------------------------- 1 | package org.example.otherpackage 2 | 3 | class ValidEmail( 4 | val emailAddress: String 5 | ) : Email { 6 | override fun compareTo(other: ValidEmail): Int { 7 | return emailAddress.compareTo(other.emailAddress) 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /composites/ebean-mariadb/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | module io.ebean.mariadb { 2 | 3 | requires transitive io.ebean.api; 4 | requires transitive io.ebean.core; 5 | requires transitive io.ebean.datasource; 6 | requires transitive io.ebean.querybean; 7 | requires transitive io.ebean.platform.mariadb; 8 | 9 | } 10 | -------------------------------------------------------------------------------- /composites/ebean-oracle/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | module io.ebean.oracle { 2 | 3 | requires transitive io.ebean.api; 4 | requires transitive io.ebean.core; 5 | requires transitive io.ebean.datasource; 6 | requires transitive io.ebean.querybean; 7 | requires transitive io.ebean.platform.oracle; 8 | 9 | } 10 | -------------------------------------------------------------------------------- /composites/ebean-sqlite/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | module io.ebean.sqlite { 2 | 3 | requires transitive io.ebean.api; 4 | requires transitive io.ebean.core; 5 | requires transitive io.ebean.datasource; 6 | requires transitive io.ebean.querybean; 7 | requires transitive io.ebean.platform.sqlite; 8 | 9 | } 10 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/core/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Core implementation objects 5 | 6 | 7 | Core implementation objects 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/deploy/ElementHelp.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.server.deploy; 2 | 3 | /** 4 | * Helper for handling ElementCollection. 5 | */ 6 | interface ElementHelp { 7 | 8 | /** 9 | * Return a new collector. 10 | */ 11 | ElementCollector createCollector(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/util/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Server side Utility objects 5 | 6 | 7 | Server side Utility objects 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /ebean-core/src/test/java/org/tests/model/ivo/SysTime.java: -------------------------------------------------------------------------------- 1 | package org.tests.model.ivo; 2 | 3 | public class SysTime { 4 | 5 | private final long millis; 6 | 7 | public SysTime(long millis) { 8 | this.millis = millis; 9 | } 10 | 11 | public long getMillis() { 12 | return millis; 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/io/ebeaninternal/dbmigration/model/5.0__dropTable.model.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /ebean-querybean/src/test/java/org/example/domain/Alias.java: -------------------------------------------------------------------------------- 1 | package org.example.domain; 2 | 3 | import jakarta.persistence.Entity; 4 | import jakarta.persistence.Id; 5 | import jakarta.persistence.Version; 6 | 7 | @Entity 8 | public class Alias { 9 | 10 | @Id 11 | long id; 12 | @Version 13 | long version; 14 | } 15 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/misc/migration/v1_0/DfkOne.java: -------------------------------------------------------------------------------- 1 | package misc.migration.v1_0; 2 | 3 | import jakarta.persistence.Entity; 4 | import jakarta.persistence.Id; 5 | import jakarta.persistence.Table; 6 | 7 | @Entity 8 | @Table(name = "migtest_fk_one") 9 | public class DfkOne { 10 | 11 | @Id 12 | long id; 13 | } 14 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/misc/migration/v1_1/DfkOne.java: -------------------------------------------------------------------------------- 1 | package misc.migration.v1_1; 2 | 3 | import jakarta.persistence.Entity; 4 | import jakarta.persistence.Id; 5 | import jakarta.persistence.Table; 6 | 7 | @Entity 8 | @Table(name = "migtest_fk_one") 9 | public class DfkOne { 10 | 11 | @Id 12 | long id; 13 | } 14 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/misc/migration/v1_2/DfkOne.java: -------------------------------------------------------------------------------- 1 | package misc.migration.v1_2; 2 | 3 | import jakarta.persistence.Entity; 4 | import jakarta.persistence.Id; 5 | import jakarta.persistence.Table; 6 | 7 | @Entity 8 | @Table(name = "migtest_fk_one") 9 | public class DfkOne { 10 | 11 | @Id 12 | long id; 13 | } 14 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/model/ivo/SysTime.java: -------------------------------------------------------------------------------- 1 | package org.tests.model.ivo; 2 | 3 | public class SysTime { 4 | 5 | private final long millis; 6 | 7 | public SysTime(long millis) { 8 | this.millis = millis; 9 | } 10 | 11 | public long getMillis() { 12 | return millis; 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/mariadb-noprocs/R__order_views.sql: -------------------------------------------------------------------------------- 1 | 2 | create or replace view order_agg_vw as 3 | select d.order_id, sum(d.order_qty * d.unit_price) as order_total, 4 | sum(d.ship_qty * d.unit_price) as ship_total 5 | from o_order_detail d 6 | group by d.order_id 7 | -------------------------------------------------------------------------------- /platforms/h2/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | module io.ebean.platform.h2 { 2 | 3 | exports io.ebean.platform.h2; 4 | 5 | requires transitive io.ebean.api; 6 | requires static com.h2database; 7 | 8 | provides io.ebean.config.dbplatform.DatabasePlatformProvider with io.ebean.platform.h2.H2PlatformProvider; 9 | } 10 | -------------------------------------------------------------------------------- /composites/ebean-cockroach/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | module io.ebean.cockroach { 2 | 3 | requires transitive io.ebean.api; 4 | requires transitive io.ebean.core; 5 | requires transitive io.ebean.datasource; 6 | requires transitive io.ebean.querybean; 7 | requires transitive io.ebean.platform.postgres; 8 | 9 | } 10 | -------------------------------------------------------------------------------- /composites/ebean-pgvector/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | module io.ebean.pgvector { 2 | 3 | requires transitive io.ebean.api; 4 | requires transitive io.ebean.core; 5 | requires transitive io.ebean.datasource; 6 | requires transitive io.ebean.querybean; 7 | requires transitive io.ebean.platform.postgres; 8 | 9 | } 10 | -------------------------------------------------------------------------------- /composites/ebean-postgres/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | module io.ebean.postgres { 2 | 3 | requires transitive io.ebean.api; 4 | requires transitive io.ebean.core; 5 | requires transitive io.ebean.datasource; 6 | requires transitive io.ebean.querybean; 7 | requires transitive io.ebean.platform.postgres; 8 | 9 | } 10 | -------------------------------------------------------------------------------- /composites/ebean-yugabyte/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | module io.ebean.yugabyte { 2 | 3 | requires transitive io.ebean.api; 4 | requires transitive io.ebean.core; 5 | requires transitive io.ebean.datasource; 6 | requires transitive io.ebean.querybean; 7 | requires transitive io.ebean.platform.postgres; 8 | 9 | } 10 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/bean/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Enhanced beans API and Support objects 5 | 6 | 7 | Enhanced beans API and Support objects 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/config/SlowQueryListener.java: -------------------------------------------------------------------------------- 1 | package io.ebean.config; 2 | 3 | /** 4 | * Listener for slow query events. 5 | */ 6 | @FunctionalInterface 7 | public interface SlowQueryListener { 8 | 9 | /** 10 | * Process a slow query event. 11 | */ 12 | void process(SlowQueryEvent event); 13 | } 14 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/config/dbplatform/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Database platform specific support 5 | 6 | 7 | Database platform specific support 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /ebean-core/src/main/resources/META-INF/services/io.ebean.service.BootstrapService: -------------------------------------------------------------------------------- 1 | io.ebeaninternal.server.DContainerFactory 2 | io.ebeaninternal.server.rawsql.DRawSqlService 3 | io.ebeaninternal.server.query.DFetchGroupService 4 | io.ebeaninternal.server.profile.DProfileLocationFactory 5 | io.ebeaninternal.server.profile.DMetricFactory 6 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/h2/idx_h2.migrations: -------------------------------------------------------------------------------- 1 | -1854589550, 1.0__initial.sql 2 | 768680300, 1.1.sql 3 | 1579867974, 1.2__dropsFor_1.1.sql 4 | 1414230664, 1.3.sql 5 | 334448611, 1.4__dropsFor_1.3.sql 6 | 783227075, R__multi_comments.sql 7 | 561281075, R__order_views.sql 8 | 9 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/mysql/idx_mysql.migrations: -------------------------------------------------------------------------------- 1 | 725100959, I__create_procs.sql 2 | 1980830787, 1.0__initial.sql 3 | -151422898, 1.1.sql 4 | -1097227916, 1.2__dropsFor_1.1.sql 5 | 888094006, 1.3.sql 6 | 261977585, 1.4__dropsFor_1.3.sql 7 | 561281075, R__order_views.sql 8 | 9 | -------------------------------------------------------------------------------- /platforms/mysql/src/main/java/io/ebean/platform/mysql/MySqlHistorySupport.java: -------------------------------------------------------------------------------- 1 | package io.ebean.platform.mysql; 2 | 3 | import io.ebean.config.dbplatform.DbViewHistorySupport; 4 | 5 | /** 6 | * Runtime support for @History with MySql. 7 | */ 8 | public class MySqlHistorySupport extends DbViewHistorySupport { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /platforms/nuodb/src/main/java/io/ebean/platform/nuodb/NuoDbHistorySupport.java: -------------------------------------------------------------------------------- 1 | package io.ebean.platform.nuodb; 2 | 3 | import io.ebean.config.dbplatform.DbViewHistorySupport; 4 | 5 | /** 6 | * Runtime support for @History with NuoDB. 7 | */ 8 | public class NuoDbHistorySupport extends DbViewHistorySupport { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /composites/ebean-clickhouse/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | module io.ebean.clickhouse { 2 | 3 | requires transitive io.ebean.api; 4 | requires transitive io.ebean.core; 5 | requires transitive io.ebean.datasource; 6 | requires transitive io.ebean.querybean; 7 | requires transitive io.ebean.platform.clickhouse; 8 | 9 | } 10 | -------------------------------------------------------------------------------- /composites/ebean-sqlserver/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | module io.ebean.sqlserver { 2 | 3 | requires transitive io.ebean.api; 4 | requires transitive io.ebean.core; 5 | requires transitive io.ebean.datasource; 6 | requires transitive io.ebean.querybean; 7 | requires transitive io.ebean.platform.sqlserver; 8 | 9 | } 10 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/deploy/id/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Helpers for Id property conversion 5 | 6 | 7 | Helpers for Id property conversion 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/db2luw/idx_db2.migrations: -------------------------------------------------------------------------------- 1 | 1307787475, I__create_tablespaces.sql 2 | 2058232717, 1.0__initial.sql 3 | -511385035, 1.1.sql 4 | 471523099, 1.2__dropsFor_1.1.sql 5 | 1941819734, 1.3.sql 6 | 1942648765, 1.4__dropsFor_1.3.sql 7 | 561281075, R__order_views.sql 8 | 9 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/hana/idx_hana.migrations: -------------------------------------------------------------------------------- 1 | 1349158244, I__create_procs.sql 2 | -2017770851, 1.0__initial.sql 3 | -475843596, 1.1.sql 4 | 1535221752, 1.2__dropsFor_1.1.sql 5 | -1301933306, 1.3.sql 6 | 1613562845, 1.4__dropsFor_1.3.sql 7 | 1906063401, R__order_views_hana.sql 8 | 9 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/mariadb/idx_mariadb.migrations: -------------------------------------------------------------------------------- 1 | 725100959, I__create_procs.sql 2 | -2111548334, 1.0__initial.sql 3 | 1085383251, 1.1.sql 4 | 1187950993, 1.2__dropsFor_1.1.sql 5 | -1145514481, 1.3.sql 6 | -298825700, 1.4__dropsFor_1.3.sql 7 | 561281075, R__order_views.sql 8 | 9 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/mysql55/idx_mysql.migrations: -------------------------------------------------------------------------------- 1 | 725100959, I__create_procs.sql 2 | 369577572, 1.0__initial.sql 3 | -151422898, 1.1.sql 4 | -1097227916, 1.2__dropsFor_1.1.sql 5 | 888094006, 1.3.sql 6 | 261977585, 1.4__dropsFor_1.3.sql 7 | 561281075, R__order_views.sql 8 | 9 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/event/readaudit/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Provides Auditing of read events including queries and L2 cache. 3 | *

4 | * Provides a built support for supplied an audit of all the 'read events' for beans annotated 5 | * with @ReadAudit 6 | *

7 | */ 8 | package io.ebean.event.readaudit; 9 | -------------------------------------------------------------------------------- /ebean-core-json/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | module io.ebean.core.json { 2 | 3 | requires io.ebean.api; 4 | 5 | requires transitive com.fasterxml.jackson.core; 6 | exports io.ebeaninternal.json to io.ebean.test, io.ebean.core; 7 | 8 | provides io.ebean.service.BootstrapService with io.ebeaninternal.json.DJsonService; 9 | } 10 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/deploy/parse/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Deployment information parsing 5 | 6 | 7 | Deployment information parsing 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/persist/dml/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Bean DML persistence implementation 5 | 6 | 7 | Bean DML persistence implementation 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/model/basic/ValidationGroupSomething.java: -------------------------------------------------------------------------------- 1 | package org.tests.model.basic; 2 | 3 | /** 4 | * A javax validation group used to test conditional @NotNull constraints 5 | * which results in no DDL generation of the constraint - Issue 34. 6 | */ 7 | public interface ValidationGroupSomething { 8 | 9 | } 10 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/contains/original-subset.json: -------------------------------------------------------------------------------- 1 | { 2 | "someString1": "string1", 3 | "someValue1": 1, 4 | "someArray2": [ 5 | { 6 | "value1": 11, 7 | "array1": [], 8 | "object2": { 9 | "v1": "v1", 10 | "v4": [] 11 | }, 12 | "objectNull": null 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest-history/dbmigration/model/1.1.model.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/oracle/idx_oracle.migrations: -------------------------------------------------------------------------------- 1 | 1757923548, 1.0__initial.sql 2 | -130678137, 1.1.sql 3 | 930172034, 1.2__dropsFor_1.1.sql 4 | -94439927, 1.3.sql 5 | 1480920634, 1.4__dropsFor_1.3.sql 6 | 1357801733, R__oracle_only_views.sql 7 | 561281075, R__order_views.sql 8 | 9 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/oracle11/idx_oracle.migrations: -------------------------------------------------------------------------------- 1 | -1422254768, 1.0__initial.sql 2 | 1418539051, 1.1.sql 3 | 930172034, 1.2__dropsFor_1.1.sql 4 | -2115674856, 1.3.sql 5 | 1480920634, 1.4__dropsFor_1.3.sql 6 | 1357801733, R__oracle_only_views.sql 7 | 561281075, R__order_views.sql 8 | 9 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/bean/ToStringAware.java: -------------------------------------------------------------------------------- 1 | package io.ebean.bean; 2 | 3 | /** 4 | * A type that can participate in building toString content with ToStringBuilder. 5 | */ 6 | public interface ToStringAware { 7 | 8 | /** 9 | * Append to the ToStringBuilder. 10 | */ 11 | void toString(ToStringBuilder builder); 12 | } 13 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/config/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Configuration settings for Database construction 5 | 6 | 7 | Configuration settings for Database construction 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/event/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Persist and Query Event Controllers and Listeners 5 | 6 | 7 | Persist and Query Event Controllers and Listeners 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/api/SpiBeanTypeManager.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.api; 2 | 3 | /** 4 | * Manager of SpiBeanTypes. 5 | */ 6 | public interface SpiBeanTypeManager { 7 | 8 | /** 9 | * Return the bean type for the given entity class. 10 | */ 11 | SpiBeanType beanType(Class entityType); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/el/ElMatcher.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.server.el; 2 | 3 | /** 4 | * Interface for defining matches for filter expressions. 5 | */ 6 | public interface ElMatcher { 7 | 8 | /** 9 | * Return true if the bean matches the expression. 10 | */ 11 | boolean isMatch(T bean); 12 | } 13 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/persist/dmlbind/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Bindable objects to support Bean DML 5 | 6 | 7 | Bindable objects to support Bean DML 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/main/StartCockroach.java: -------------------------------------------------------------------------------- 1 | package main; 2 | 3 | import io.ebean.test.containers.CockroachContainer; 4 | 5 | public class StartCockroach { 6 | 7 | public static void main(String[] args) { 8 | CockroachContainer.builder("v21.2.4") 9 | .dbName("unit") 10 | .build() 11 | .start(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/aggregateformula/IAFBaseSegment.java: -------------------------------------------------------------------------------- 1 | package org.tests.aggregateformula; 2 | 3 | import jakarta.persistence.*; 4 | 5 | @Entity 6 | @Inheritance 7 | @Table(name = "iaf_segment") 8 | @DiscriminatorColumn(name = "ptype") 9 | public class IAFBaseSegment { 10 | 11 | @Id 12 | private Long id; 13 | 14 | } 15 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/inherit/ParentAggregate.java: -------------------------------------------------------------------------------- 1 | package org.tests.inherit; 2 | 3 | import io.ebean.annotation.Sql; 4 | 5 | import jakarta.persistence.Entity; 6 | import jakarta.persistence.OneToOne; 7 | 8 | @Entity 9 | @Sql 10 | public class ParentAggregate { 11 | 12 | @OneToOne 13 | public Parent parent; 14 | 15 | } 16 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/common/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Common non-public interfaces and implementation 5 | 6 | 7 | Common non-public interfaces and implementation. 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/main/StartOracle.java: -------------------------------------------------------------------------------- 1 | package main; 2 | 3 | import io.ebean.test.containers.OracleContainer; 4 | 5 | public class StartOracle { 6 | 7 | public static void main(String[] args) { 8 | OracleContainer.builder("latest") 9 | .user("test_ebean") 10 | .build() 11 | .startWithDropCreate(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/idx_sqlserver.migrations: -------------------------------------------------------------------------------- 1 | 1076122722, I__create_procs.sql 2 | -1455820494, 1.0__initial.sql 3 | -2020672101, 1.1.sql 4 | -1431095657, 1.2__dropsFor_1.1.sql 5 | 639246047, 1.3.sql 6 | -1281693740, 1.4__dropsFor_1.3.sql 7 | 1607822082, R__order_views_mssql.sql 8 | 9 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver17/idx_sqlserver.migrations: -------------------------------------------------------------------------------- 1 | 1076122722, I__create_procs.sql 2 | 1574627056, 1.0__initial.sql 3 | 1141454658, 1.1.sql 4 | -1431095657, 1.2__dropsFor_1.1.sql 5 | 1685309460, 1.3.sql 6 | -1281693740, 1.4__dropsFor_1.3.sql 7 | 1607822082, R__order_views_mssql.sql 8 | 9 | -------------------------------------------------------------------------------- /.travis/print_surefire_reports: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "\n=== SUREFIRE REPORTS ===\n" 4 | 5 | for file in target/surefire-reports/*.txt 6 | do 7 | echo ${file} 8 | cat ${file} 9 | echo 10 | done 11 | 12 | for file in ebean-autotune/target/surefire-reports/*.txt 13 | do 14 | echo ${file} 15 | cat ${file} 16 | echo 17 | done 18 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/config/QueryPlanListener.java: -------------------------------------------------------------------------------- 1 | package io.ebean.config; 2 | 3 | /** 4 | * EXPERIMENTAL: Listener for captured query plans. 5 | */ 6 | @FunctionalInterface 7 | public interface QueryPlanListener { 8 | 9 | /** 10 | * Process the captured query plans. 11 | */ 12 | void process(QueryPlanCapture capture); 13 | } 14 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/api/SpiProfileTransactionEvent.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.api; 2 | 3 | /** 4 | * Event that adds to a profiling transaction. 5 | */ 6 | public interface SpiProfileTransactionEvent { 7 | 8 | /** 9 | * Add the event information to the profiling transaction. 10 | */ 11 | void profile(); 12 | } 13 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/deploy/parse/InitMetaJacksonAnnotation.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.server.deploy.parse; 2 | 3 | final class InitMetaJacksonAnnotation { 4 | 5 | static void init(ReadAnnotationConfig readConfig) { 6 | readConfig.addMetaAnnotation(com.fasterxml.jackson.annotation.JacksonAnnotation.class); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/util/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Utility objects 5 | 6 | 7 | Utility objects 8 | 9 |

10 | For client and server side implmentation. 11 |

12 | 13 | 14 | -------------------------------------------------------------------------------- /ebean-redis/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | import io.ebean.cache.ServerCachePlugin; 2 | 3 | /** 4 | * Provider of ServerCachePlugin. 5 | */ 6 | module io.ebean.redis { 7 | 8 | provides ServerCachePlugin with io.ebean.redis.RedisCachePlugin; 9 | 10 | requires transitive io.ebean.core; 11 | requires transitive redis.clients.jedis; 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/hsqldb/R__order_views_hsqldb.sql: -------------------------------------------------------------------------------- 1 | 2 | drop view order_agg_vw if exists ; 3 | create view order_agg_vw as 4 | select d.order_id, sum(d.order_qty * d.unit_price) as order_total, 5 | sum(d.ship_qty * d.unit_price) as ship_total 6 | from o_order_detail d 7 | group by d.order_id; 8 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/R__order_views_sqlite.sql: -------------------------------------------------------------------------------- 1 | 2 | drop view if exists order_agg_vw; 3 | create view order_agg_vw as 4 | select d.order_id, sum(d.order_qty * d.unit_price) as order_total, 5 | sum(d.ship_qty * d.unit_price) as ship_total 6 | from o_order_detail d 7 | group by d.order_id; 8 | -------------------------------------------------------------------------------- /platforms/hsqldb/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | module io.ebean.platform.hsqldb { 2 | 3 | exports io.ebean.platform.hsqldb; 4 | 5 | requires transitive io.ebean.api; 6 | requires transitive io.ebean.platform.h2; 7 | 8 | provides io.ebean.config.dbplatform.DatabasePlatformProvider with io.ebean.platform.hsqldb.HSqlDbPlatformProvider; 9 | } 10 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/api/FormulaBuilder.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.api; 2 | 3 | import io.ebean.config.AggregateFormulaContext; 4 | import io.ebeaninternal.server.query.STreeProperty; 5 | 6 | public interface FormulaBuilder { 7 | 8 | STreeProperty create(AggregateFormulaContext context, String formula, String path); 9 | 10 | } 11 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/autotune/AutoTuneServiceProvider.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.server.autotune; 2 | 3 | import io.ebean.DatabaseBuilder; 4 | import io.ebeaninternal.api.SpiEbeanServer; 5 | 6 | public interface AutoTuneServiceProvider { 7 | 8 | AutoTuneService create(SpiEbeanServer server, DatabaseBuilder config); 9 | } 10 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/model/basic/MNonEnum.java: -------------------------------------------------------------------------------- 1 | package org.tests.model.basic; 2 | 3 | public enum MNonEnum { 4 | 5 | BEGIN("B"), 6 | END("E"); 7 | 8 | String value; 9 | 10 | MNonEnum(String value) { 11 | this.value = value; 12 | } 13 | 14 | @Override 15 | public String toString() { 16 | return value; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/migrationtest-history/dbmigration/model/1.2__dropsFor_1.1.model.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/test-properties/foo.yml: -------------------------------------------------------------------------------- 1 | ebean: 2 | ddl: 3 | generate: true 4 | run: true 5 | 6 | oracle: 7 | username: rob 8 | password: ${db_user:someDefault} 9 | url: something here 10 | driver: com.foo.Bar 11 | 12 | mysql: 13 | username: fiona 14 | url: other 15 | maxConnections: 90 16 | 17 | 18 | -------------------------------------------------------------------------------- /platforms/mariadb/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | module io.ebean.platform.mariadb { 2 | 3 | exports io.ebean.platform.mariadb; 4 | 5 | requires transitive io.ebean.api; 6 | requires transitive io.ebean.platform.mysql; 7 | 8 | provides io.ebean.config.dbplatform.DatabasePlatformProvider with io.ebean.platform.mariadb.MariaDbPlatformProvider; 9 | } 10 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/api/SpiDdlGeneratorProvider.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.api; 2 | 3 | /** 4 | * Provides the DDL Generator for create-all/drop-all. 5 | */ 6 | public interface SpiDdlGeneratorProvider { 7 | 8 | /** 9 | * Provide the DDL generator. 10 | */ 11 | SpiDdlGenerator generator(SpiEbeanServer server); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/deploy/generatedproperty/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Counter, Insert Timestamp, Update Timestamp support 5 | 6 | 7 | Counter, Insert Timestamp, Update Timestamp support 8 | 9 | -------------------------------------------------------------------------------- /ebean-querybean/src/test/java/org/example/domain/otherpackage/PhoneNumber.java: -------------------------------------------------------------------------------- 1 | package org.example.domain.otherpackage; 2 | 3 | public class PhoneNumber { 4 | private final String msisdn; 5 | 6 | public PhoneNumber(final String msisdn) { 7 | this.msisdn = msisdn; 8 | } 9 | 10 | public String getMsisdn() { 11 | return msisdn; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/QueryType.java: -------------------------------------------------------------------------------- 1 | package io.ebean; 2 | 3 | /** 4 | * The type of the query being executed. 5 | */ 6 | public enum QueryType { 7 | 8 | /** 9 | * A find query. 10 | */ 11 | FIND, 12 | 13 | /** 14 | * An update query. 15 | */ 16 | UPDATE, 17 | 18 | /** 19 | * A delete query. 20 | */ 21 | DELETE 22 | } 23 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/config/LookupProvider.java: -------------------------------------------------------------------------------- 1 | package io.ebean.config; 2 | 3 | import java.lang.invoke.MethodHandles.Lookup; 4 | 5 | /** 6 | * Provides a Lookup instance for accessing entity/dto fields. 7 | */ 8 | public interface LookupProvider { 9 | 10 | /** 11 | * Return the Lookup. 12 | */ 13 | Lookup provideLookup(); 14 | 15 | } 16 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/config/dbplatform/BasicSqlLimiter.java: -------------------------------------------------------------------------------- 1 | package io.ebean.config.dbplatform; 2 | 3 | /** 4 | * Simple SQL limiter for use with SqlQuery. 5 | */ 6 | public interface BasicSqlLimiter { 7 | 8 | /** 9 | * Add basic offset/limit clause to SqlQuery query. 10 | */ 11 | String limit(String dbSql, int firstRow, int maxRows); 12 | } 13 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/config/dbplatform/SqlLimiter.java: -------------------------------------------------------------------------------- 1 | package io.ebean.config.dbplatform; 2 | 3 | /** 4 | * Adds SQL limiting to a query (such as LIMIT OFFSET). 5 | */ 6 | public interface SqlLimiter { 7 | 8 | /** 9 | * Add the SQL limiting statements around the query. 10 | */ 11 | SqlLimitResponse limit(SqlLimitRequest request); 12 | } 13 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/api/SpiLoggerFactory.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.api; 2 | 3 | /** 4 | * API for Plugins to define the logger for io.ebean.SQL, io.ebean.TXN and io.ebean.SUM. 5 | */ 6 | public interface SpiLoggerFactory { 7 | 8 | /** 9 | * Create the logger given the name. 10 | */ 11 | SpiLogger create(String name); 12 | } 13 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeLogicalType.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.server.type; 2 | 3 | /** 4 | * Marks types that can be mapped differently to different DB platforms. 5 | */ 6 | public interface ScalarTypeLogicalType { 7 | 8 | /** 9 | * Return the DB agnostic logical type. 10 | */ 11 | int getLogicalType(); 12 | } 13 | -------------------------------------------------------------------------------- /ebean-core/src/test/java/org/tests/model/basic/IntEnum.java: -------------------------------------------------------------------------------- 1 | package org.tests.model.basic; 2 | 3 | import io.ebean.annotation.DbEnumType; 4 | import io.ebean.annotation.DbEnumValue; 5 | 6 | public enum IntEnum { 7 | ZERO, ONE, TWO; 8 | 9 | @DbEnumValue(storage = DbEnumType.INTEGER) 10 | public int dbValue() { 11 | return 100 + ordinal(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/io/ebeaninternal/dbmigration/model/1.1_2__drops.model.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/io/ebeaninternal/dbmigration/model/2.2__drops.model.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/model/array/IntEnum.java: -------------------------------------------------------------------------------- 1 | package org.tests.model.array; 2 | 3 | import io.ebean.annotation.DbEnumType; 4 | import io.ebean.annotation.DbEnumValue; 5 | 6 | public enum IntEnum { 7 | ZERO, ONE, TWO; 8 | 9 | @DbEnumValue(storage = DbEnumType.INTEGER) 10 | public int dbValue() { 11 | return 100 + ordinal(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/o2o/OtoLevelC.java: -------------------------------------------------------------------------------- 1 | package org.tests.o2o; 2 | 3 | import jakarta.persistence.Entity; 4 | import jakarta.persistence.Id; 5 | 6 | @Entity 7 | public class OtoLevelC { 8 | 9 | @Id 10 | private Long id; 11 | 12 | private final String name; 13 | 14 | public OtoLevelC(String name) { 15 | this.name = name; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/api/ConcurrencyMode.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.api; 2 | 3 | /** 4 | * Optimistic concurrency mode used for updates and deletes. 5 | */ 6 | public enum ConcurrencyMode { 7 | 8 | /** 9 | * No concurrency checking. 10 | */ 11 | NONE, 12 | 13 | /** 14 | * Use a version column. 15 | */ 16 | VERSION 17 | } 18 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/cluster/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | AvajeLib 5 | 6 | 7 | Clustering service for an application. 8 |

9 | A framework for supporting clustering of servers. 10 |

11 | 12 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/core/RowReader.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.server.core; 2 | 3 | import java.sql.SQLException; 4 | 5 | /** 6 | * Read a row building a result for that row. 7 | */ 8 | public interface RowReader { 9 | 10 | /** 11 | * Build and return a result for a row. 12 | */ 13 | T read() throws SQLException; 14 | } 15 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/persist/dml/DmlMode.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.server.persist.dml; 2 | 3 | /** 4 | * Used to indicate the part of DML being processed. 5 | */ 6 | public enum DmlMode { 7 | 8 | /** 9 | * The Insert SET. 10 | */ 11 | INSERT, 12 | 13 | /** 14 | * The Update SET. 15 | */ 16 | UPDATE, 17 | 18 | } 19 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/type/LocalEncryptedType.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.server.type; 2 | 3 | /** 4 | * Scalar type that wraps a local/client side encrypted value. 5 | */ 6 | public interface LocalEncryptedType { 7 | 8 | /** 9 | * Encrypt and return the un-encrypted value. 10 | */ 11 | Object localEncrypt(Object value); 12 | } 13 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeLongVarchar.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.server.type; 2 | 3 | import java.sql.Types; 4 | 5 | /** 6 | * ScalarType for String. 7 | */ 8 | final class ScalarTypeLongVarchar extends ScalarTypeClob { 9 | 10 | public ScalarTypeLongVarchar() { 11 | super(true, Types.LONGVARCHAR); 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /composites/ebean-postgis/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | module io.ebean.postgis { 2 | 3 | requires transitive io.ebean.api; 4 | requires transitive io.ebean.core; 5 | requires transitive io.ebean.datasource; 6 | requires transitive io.ebean.querybean; 7 | requires transitive io.ebean.platform.postgres; 8 | // requires transitive io.ebean.postgis.types; 9 | 10 | } 11 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/SimpleProperty.java: -------------------------------------------------------------------------------- 1 | package io.ebean; 2 | 3 | final class SimpleProperty implements Query.Property { 4 | 5 | private final String expression; 6 | 7 | SimpleProperty(String expression) { 8 | this.expression = expression; 9 | } 10 | 11 | @Override 12 | public String toString() { 13 | return expression; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/config/CurrentTenantProvider.java: -------------------------------------------------------------------------------- 1 | package io.ebean.config; 2 | 3 | /** 4 | * Provides the Tenant Id for the current request based on the current user. 5 | */ 6 | @FunctionalInterface 7 | public interface CurrentTenantProvider { 8 | 9 | /** 10 | * Return the Tenant Id for the current user. 11 | */ 12 | Object currentId(); 13 | } 14 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/api/SpiExpressionFactory.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.api; 2 | 3 | import io.ebean.ExpressionFactory; 4 | 5 | public interface SpiExpressionFactory extends ExpressionFactory { 6 | 7 | /** 8 | * Create another expression factory with a given sub path. 9 | */ 10 | ExpressionFactory createExpressionFactory(); 11 | 12 | } 13 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeanservice/docstore/none/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * "No op" implementation of document store. 3 | *

4 | * This is 'placeholder' implementation used if there is no document store service found 5 | * and if there is an attempt to use the document store features an error will be thrown. 6 | *

7 | */ 8 | package io.ebeanservice.docstore.none; 9 | -------------------------------------------------------------------------------- /composites/ebean-net-postgis/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | module io.ebean.postgis { 2 | 3 | requires transitive io.ebean.api; 4 | requires transitive io.ebean.core; 5 | requires transitive io.ebean.datasource; 6 | requires transitive io.ebean.querybean; 7 | requires transitive io.ebean.platform.postgres; 8 | // requires transitive io.ebean.postgis.types; 9 | 10 | } 11 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/deploy/meta/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Temporary objects used to collect deployment information 5 | 6 | 7 | Temporary objects used to collect deployment information 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/deploy/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Bean description 5 | 6 | 7 | Bean description 8 | 9 |

10 | Describes beans with their properties and configuration. 11 |

12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/assert/ModelBuild_compound_IdClassTest/apply.sql: -------------------------------------------------------------------------------- 1 | create table cksite_user ( 2 | site_id uuid not null, 3 | user_id uuid not null, 4 | access_level varchar(255), 5 | version bigint not null, 6 | constraint pk_cksite_user primary key (site_id,user_id) 7 | ); 8 | 9 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/model/EWhoProps.java: -------------------------------------------------------------------------------- 1 | package org.tests.model; 2 | 3 | import jakarta.persistence.Entity; 4 | 5 | @Entity 6 | public class EWhoProps extends EWhoPropsSuper { 7 | 8 | String name; 9 | 10 | public String getName() { 11 | return name; 12 | } 13 | 14 | public void setName(String name) { 15 | this.name = name; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/o2m/dm/Attachment.java: -------------------------------------------------------------------------------- 1 | package org.tests.o2m.dm; 2 | 3 | import jakarta.persistence.Entity; 4 | 5 | @Entity 6 | public class Attachment extends HistoryColumns { 7 | private String name; 8 | 9 | public String getName() { 10 | return name; 11 | } 12 | 13 | public void setName(String name) { 14 | this.name = name; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /platforms/mysql/src/main/java/io/ebean/platform/mysql/MySqlPlatform.java: -------------------------------------------------------------------------------- 1 | package io.ebean.platform.mysql; 2 | 3 | import io.ebean.annotation.Platform; 4 | 5 | /** 6 | * MySQL specific platform. 7 | */ 8 | public class MySqlPlatform extends BaseMySqlPlatform { 9 | 10 | public MySqlPlatform() { 11 | super(); 12 | this.platform = Platform.MYSQL; 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/bind/capture/BindCaptureEntry.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.server.bind.capture; 2 | 3 | import java.sql.Connection; 4 | import java.sql.PreparedStatement; 5 | import java.sql.SQLException; 6 | 7 | public interface BindCaptureEntry { 8 | 9 | void bind(PreparedStatement statement, Connection connection) throws SQLException; 10 | } 11 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/deploy/InheritInfoVisitor.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.server.deploy; 2 | 3 | /** 4 | * Used to visit all the InheritInfo in a single inheritance hierarchy. 5 | */ 6 | public interface InheritInfoVisitor { 7 | 8 | /** 9 | * visit the InheritInfo for this node. 10 | */ 11 | void visit(InheritInfo inheritInfo); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ebean-core/src/test/java/io/ebeaninternal/server/core/HelpDefaultCallOriginFactory.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.server.core; 2 | 3 | /** 4 | * Make DefaultCallOriginFactory accessible to tests. 5 | */ 6 | public class HelpDefaultCallOriginFactory { 7 | 8 | public static CallOriginFactory create(int maxStack) { 9 | return new DefaultCallOriginFactory(maxStack); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /ebean-core/src/test/java/org/tests/model/bridge/BUser.java: -------------------------------------------------------------------------------- 1 | package org.tests.model.bridge; 2 | 3 | import jakarta.persistence.Entity; 4 | import jakarta.persistence.Id; 5 | import java.util.UUID; 6 | 7 | @Entity 8 | public class BUser { 9 | 10 | @Id 11 | UUID id; 12 | 13 | String name; 14 | 15 | public BUser(String name) { 16 | this.name = name; 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /ebean-pgvector-types/.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | 3 | root = true 4 | 5 | [*] 6 | charset = utf-8 7 | end_of_line = lf 8 | indent_size = 2 9 | indent_style = space 10 | insert_final_newline = true 11 | trim_trailing_whitespace = true 12 | spaces_around_operators = true 13 | max_line_length = 130 14 | 15 | [pom.xml] 16 | # Because of 2 | 3 | 4 | Transaction implementation 5 | 6 | 7 | Transaction implementation 8 | 9 |

10 | Implementation of the transaction functions. 11 |

12 | 13 | 14 | -------------------------------------------------------------------------------- /ebean-net-postgis-types/.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | 3 | root = true 4 | 5 | [*] 6 | charset = utf-8 7 | end_of_line = lf 8 | indent_size = 2 9 | indent_style = space 10 | insert_final_newline = true 11 | trim_trailing_whitespace = true 12 | spaces_around_operators = true 13 | max_line_length = 130 14 | 15 | [pom.xml] 16 | # Because of 4 | * You can use DefaultDbMigration to compare the entity bean model to its prior state 5 | * and generate DDL for the differences - adding tables, columns etc. 6 | *

7 | */ 8 | package io.ebeaninternal.dbmigration; 9 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/io/ebeaninternal/dbmigration/model/3.0__rawSql.model.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | something 6 | other thing 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/misc/migration/v1_0/DfkCascadeOne.java: -------------------------------------------------------------------------------- 1 | package misc.migration.v1_0; 2 | 3 | import jakarta.persistence.*; 4 | import java.util.List; 5 | 6 | @Entity 7 | @Table(name = "migtest_fk_cascade_one") 8 | public class DfkCascadeOne { 9 | 10 | @Id 11 | long id; 12 | 13 | @OneToMany(mappedBy = "one", cascade = CascadeType.ALL) 14 | List details; 15 | 16 | } 17 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/misc/migration/v1_1/DfkCascadeOne.java: -------------------------------------------------------------------------------- 1 | package misc.migration.v1_1; 2 | 3 | import jakarta.persistence.*; 4 | import java.util.List; 5 | 6 | @Entity 7 | @Table(name = "migtest_fk_cascade_one") 8 | public class DfkCascadeOne { 9 | 10 | @Id 11 | long id; 12 | 13 | @OneToMany(mappedBy = "one", cascade = CascadeType.ALL) 14 | List details; 15 | 16 | } 17 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/misc/migration/v1_2/DfkCascadeOne.java: -------------------------------------------------------------------------------- 1 | package misc.migration.v1_2; 2 | 3 | import jakarta.persistence.*; 4 | import java.util.List; 5 | 6 | @Entity 7 | @Table(name = "migtest_fk_cascade_one") 8 | public class DfkCascadeOne { 9 | 10 | @Id 11 | long id; 12 | 13 | @OneToMany(mappedBy = "one", cascade = CascadeType.ALL) 14 | List details; 15 | 16 | } 17 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/iud/PcfModel.java: -------------------------------------------------------------------------------- 1 | package org.tests.iud; 2 | 3 | import io.ebean.Model; 4 | 5 | import jakarta.persistence.Id; 6 | import jakarta.persistence.MappedSuperclass; 7 | import jakarta.persistence.Version; 8 | 9 | @MappedSuperclass 10 | public class PcfModel extends Model { 11 | 12 | @Id 13 | long id; 14 | 15 | @Version 16 | long version; 17 | 18 | } 19 | -------------------------------------------------------------------------------- /platforms/postgres/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | module io.ebean.platform.postgres { 2 | 3 | exports io.ebean.platform.postgres; 4 | exports io.ebean.platform.yugabyte; 5 | exports io.ebean.platform.cockroach; 6 | 7 | requires transitive io.ebean.api; 8 | 9 | provides io.ebean.config.dbplatform.DatabasePlatformProvider with io.ebean.platform.postgres.PostgresPlatformProvider; 10 | } 11 | -------------------------------------------------------------------------------- /ebean-core/src/test/java/org/tests/model/basic/VarcharEnum.java: -------------------------------------------------------------------------------- 1 | package org.tests.model.basic; 2 | 3 | import io.ebean.annotation.DbEnumType; 4 | import io.ebean.annotation.DbEnumValue; 5 | 6 | public enum VarcharEnum { 7 | ZERO, ONE, TWO; 8 | 9 | @DbEnumValue(storage = DbEnumType.VARCHAR, withConstraint = false) 10 | public String dbValue() { 11 | return "xXx" + name(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ebean-test/src/main/java/io/ebean/test/config/provider/WhoTenantProvider.java: -------------------------------------------------------------------------------- 1 | package io.ebean.test.config.provider; 2 | 3 | import io.ebean.config.CurrentTenantProvider; 4 | import io.ebean.test.UserContext; 5 | 6 | final class WhoTenantProvider implements CurrentTenantProvider { 7 | 8 | @Override 9 | public Object currentId() { 10 | return UserContext.currentTenantId(); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/model/array/VarcharEnum.java: -------------------------------------------------------------------------------- 1 | package org.tests.model.array; 2 | 3 | import io.ebean.annotation.DbEnumType; 4 | import io.ebean.annotation.DbEnumValue; 5 | 6 | public enum VarcharEnum { 7 | ZERO, ONE, TWO; 8 | 9 | @DbEnumValue(storage = DbEnumType.VARCHAR, withConstraint = false) 10 | public String dbValue() { 11 | return "xXx" + name(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /platforms/postgres/src/main/java/io/ebean/platform/yugabyte/YugabytePlatform.java: -------------------------------------------------------------------------------- 1 | package io.ebean.platform.yugabyte; 2 | 3 | import io.ebean.annotation.Platform; 4 | import io.ebean.platform.postgres.PostgresPlatform; 5 | 6 | public class YugabytePlatform extends PostgresPlatform { 7 | 8 | public YugabytePlatform() { 9 | super(); 10 | this.platform = Platform.YUGABYTE; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/config/EncryptDeployManager.java: -------------------------------------------------------------------------------- 1 | package io.ebean.config; 2 | 3 | /** 4 | * Programmatically define which database columns are encrypted. 5 | */ 6 | @FunctionalInterface 7 | public interface EncryptDeployManager { 8 | 9 | /** 10 | * Return true if the table column is encrypted. 11 | */ 12 | EncryptDeploy getEncryptDeploy(TableName table, String column); 13 | } 14 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/api/SpiBackgroundExecutor.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.api; 2 | 3 | import io.ebean.BackgroundExecutor; 4 | 5 | /** 6 | * Internal Extension to BackgroundExecutor with shutdown. 7 | */ 8 | public interface SpiBackgroundExecutor extends BackgroundExecutor { 9 | 10 | /** 11 | * Shutdown any associated thread pools. 12 | */ 13 | void shutdown(); 14 | } 15 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/persist/SaveMany.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.server.persist; 2 | 3 | /** 4 | * Save many that can be queued up to execute after the associated 5 | * bean has been actually been persisted. 6 | */ 7 | public interface SaveMany { 8 | 9 | /** 10 | * Save the many property (after the associated bean persist). 11 | */ 12 | void saveBatch(); 13 | } 14 | -------------------------------------------------------------------------------- /ebean-postgis-types/src/main/java/io/ebean/postgis/latte/ScalarTypeGeoLattePoint.java: -------------------------------------------------------------------------------- 1 | package io.ebean.postgis.latte; 2 | 3 | import io.ebean.config.dbplatform.ExtraDbTypes; 4 | import org.geolatte.geom.Point; 5 | 6 | public class ScalarTypeGeoLattePoint extends ScalarTypeGeoLatteBase { 7 | 8 | public ScalarTypeGeoLattePoint() { 9 | super(ExtraDbTypes.POINT, Point.class); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /ebean-querybean/src/test/java/org/example/domain/SomePojo.java: -------------------------------------------------------------------------------- 1 | package org.example.domain; 2 | 3 | import java.util.ArrayList; 4 | 5 | public class SomePojo { 6 | 7 | String name; 8 | 9 | ArrayList foos = new ArrayList<>(); 10 | 11 | public String getName() { 12 | return name; 13 | } 14 | 15 | public void setName(String name) { 16 | this.name = name; 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/misc/migration/v1_0/DfkNoneViaJoin.java: -------------------------------------------------------------------------------- 1 | package misc.migration.v1_0; 2 | 3 | import jakarta.persistence.*; 4 | 5 | @Entity 6 | @Table(name = "migtest_fk_none_via_join") 7 | public class DfkNoneViaJoin { 8 | 9 | @Id 10 | long id; 11 | 12 | @ManyToOne 13 | @JoinColumn(name = "one_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) 14 | DfkOne one; 15 | 16 | } 17 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/misc/migration/v1_1/DfkNoneViaJoin.java: -------------------------------------------------------------------------------- 1 | package misc.migration.v1_1; 2 | 3 | import jakarta.persistence.*; 4 | 5 | @Entity 6 | @Table(name = "migtest_fk_none_via_join") 7 | public class DfkNoneViaJoin { 8 | 9 | @Id 10 | long id; 11 | 12 | @ManyToOne 13 | @JoinColumn(name = "one_id", foreignKey = @ForeignKey(ConstraintMode.CONSTRAINT)) 14 | DfkOne one; 15 | 16 | } 17 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/misc/migration/v1_2/DfkNoneViaJoin.java: -------------------------------------------------------------------------------- 1 | package misc.migration.v1_2; 2 | 3 | import jakarta.persistence.*; 4 | 5 | @Entity 6 | @Table(name = "migtest_fk_none_via_join") 7 | public class DfkNoneViaJoin { 8 | 9 | @Id 10 | long id; 11 | 12 | @ManyToOne 13 | @JoinColumn(name = "one_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) 14 | DfkOne one; 15 | 16 | } 17 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/inherit/DIntChildBase.java: -------------------------------------------------------------------------------- 1 | package org.tests.inherit; 2 | 3 | import jakarta.persistence.Entity; 4 | 5 | @Entity 6 | public class DIntChildBase extends DIntParent { 7 | 8 | @Override 9 | public String getName() { 10 | return "Base name"; 11 | } 12 | 13 | public DIntChildBase(Integer number, String more) { 14 | super(number, more); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/text/StringParser.java: -------------------------------------------------------------------------------- 1 | package io.ebean.text; 2 | 3 | /** 4 | * Convert a String value into an Object value. 5 | *

6 | * Basic interface to support CSV, JSON and XML processing. 7 | */ 8 | @FunctionalInterface 9 | public interface StringParser { 10 | 11 | /** 12 | * Convert a String value into an Object value. 13 | */ 14 | Object parse(String value); 15 | } 16 | -------------------------------------------------------------------------------- /ebean-core-type/src/main/java/io/ebean/core/type/ScalarDataReader.java: -------------------------------------------------------------------------------- 1 | package io.ebean.core.type; 2 | 3 | import java.sql.SQLException; 4 | 5 | /** 6 | * Reads from and binds to database columns. 7 | */ 8 | public interface ScalarDataReader { 9 | 10 | /** 11 | * Read and return the appropriate value from the dataReader. 12 | */ 13 | T read(DataReader reader) throws SQLException; 14 | 15 | } 16 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/api/NaturalKeyEq.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.api; 2 | 3 | /** 4 | * A property value pair in a natural key lookup. 5 | */ 6 | public final class NaturalKeyEq { 7 | 8 | final String property; 9 | final Object value; 10 | 11 | public NaturalKeyEq(String property, Object value) { 12 | this.property = property; 13 | this.value = value; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/main/StartMariaDb.java: -------------------------------------------------------------------------------- 1 | package main; 2 | 3 | import io.ebean.test.containers.MariaDBContainer; 4 | 5 | public class StartMariaDb { 6 | 7 | public static void main(String[] args) { 8 | MariaDBContainer.builder("10.6") 9 | .dbName("unit") 10 | .user("unit") 11 | .password("unit") 12 | .port(5306) 13 | .build() 14 | .start(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/inheritance/company/domain/ConcreteBar.java: -------------------------------------------------------------------------------- 1 | package org.tests.inheritance.company.domain; 2 | 3 | import jakarta.persistence.DiscriminatorValue; 4 | import jakarta.persistence.Entity; 5 | 6 | /** 7 | * @author Per-Ingemar Andersson, It-huset i Norden AB 8 | */ 9 | @Entity 10 | @DiscriminatorValue("ConcreteBar") 11 | public class ConcreteBar extends AbstractBar { 12 | } 13 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/model/basic/ClanQuest.java: -------------------------------------------------------------------------------- 1 | package org.tests.model.basic; 2 | 3 | import io.ebean.Model; 4 | import jakarta.persistence.*; 5 | 6 | @Entity 7 | public class ClanQuest extends Model { 8 | 9 | @Id 10 | public int id; 11 | 12 | @ManyToOne(optional = false) 13 | public final Clan clan; 14 | 15 | public ClanQuest(Clan clan) { 16 | this.clan = clan; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /ebean-test/testconfig/ebean-db2.properties: -------------------------------------------------------------------------------- 1 | ebean.test.platform=db2 2 | ebean.test.dbName=unit 3 | # we need admin user to call the procedure SYSPROC.ADMIN_MOVE_TABLE 4 | ebean.test.username=admin 5 | ebean.test.password=admin 6 | datasource.default=db2 7 | ebean.db2.databasePlatformName=db2luw 8 | ebean.lengthCheck=utf8 9 | 10 | ebean.test.db2.version=12.1.1.0 11 | ebean.test.db2.containerName=ut_db2-12-1-1 12 | -------------------------------------------------------------------------------- /tests/test-kotlin/src/main/kotlin/org/example/domain/MyInnerEmb.kt: -------------------------------------------------------------------------------- 1 | package org.example.domain 2 | 3 | import jakarta.persistence.* 4 | 5 | @Entity 6 | @Table(name = "t_inner2") 7 | class MyKInnerEmb { 8 | 9 | @Id 10 | var one: Long = 0 11 | var two: String = "0" 12 | var address: EmbAddre? = null 13 | 14 | @Embeddable 15 | data class EmbAddre(val line1: String, val line2: String) 16 | 17 | } 18 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/cache/QueryCacheEntryValidate.java: -------------------------------------------------------------------------------- 1 | package io.ebean.cache; 2 | 3 | /** 4 | * Used to validate that a query cache entry is still valid based on dependent tables. 5 | */ 6 | public interface QueryCacheEntryValidate { 7 | 8 | /** 9 | * Return true if the entry is still valid based on dependent tables. 10 | */ 11 | boolean isValid(QueryCacheEntry queryCacheEntry); 12 | } 13 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/core/CallOriginFactory.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.server.core; 2 | 3 | import io.ebean.bean.CallOrigin; 4 | 5 | /** 6 | * Creates CallOrigin based on the stack trace. 7 | */ 8 | public interface CallOriginFactory { 9 | 10 | /** 11 | * Create and return the CallStack given the stack trace elements. 12 | */ 13 | CallOrigin createCallOrigin(); 14 | } 15 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/grammer/NamedParameter.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.server.grammer; 2 | 3 | public class NamedParameter { 4 | 5 | public static final String PREFIX = "$namedParam$"; 6 | 7 | private final String name; 8 | 9 | public NamedParameter(String name) { 10 | this.name = name; 11 | } 12 | 13 | public String getName() { 14 | return name; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ebean-core/src/test/java/org/tests/inheritance/model/AbstractBaseClass.java: -------------------------------------------------------------------------------- 1 | package org.tests.inheritance.model; 2 | 3 | import jakarta.persistence.MappedSuperclass; 4 | 5 | @MappedSuperclass 6 | public class AbstractBaseClass { 7 | private String name; 8 | 9 | public String getName() { 10 | return name; 11 | } 12 | 13 | public void setName(String name) { 14 | this.name = name; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/java/org/tests/inheritance/company/domain/ConcreteBar.java: -------------------------------------------------------------------------------- 1 | package org.tests.inheritance.company.domain; 2 | 3 | import jakarta.persistence.DiscriminatorValue; 4 | import jakarta.persistence.Entity; 5 | 6 | /** 7 | * @author Per-Ingemar Andersson, It-huset i Norden AB 8 | */ 9 | @Entity 10 | @DiscriminatorValue("ConcreteBar") 11 | public class ConcreteBar extends AbstractBar { 12 | } 13 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/assert/BaseTableDdlTest/createTable-apply.txt: -------------------------------------------------------------------------------- 1 | create table mytable ( 2 | id integer generated by default as identity not null, 3 | status varchar(1) not null, 4 | order_id integer not null, 5 | constraint ck_mytable_status check (status in ('A','B')), 6 | constraint pk_mytable primary key (id) 7 | ); 8 | 9 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/mysql/procedures/model/1.1.model.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /ebean-querybean/src/test/java/org/example/domain/CountryImpl.java: -------------------------------------------------------------------------------- 1 | package org.example.domain; 2 | 3 | import org.example.domain.api.ACountry; 4 | 5 | import jakarta.persistence.Entity; 6 | import jakarta.persistence.Id; 7 | 8 | @Entity 9 | public class CountryImpl implements ACountry { 10 | 11 | @Id 12 | String code; 13 | 14 | @Override 15 | public String code() { 16 | return code; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /ebean-querybean/src/test/java/org/example/domain/otherpackage/GenericType.java: -------------------------------------------------------------------------------- 1 | package org.example.domain.otherpackage; 2 | 3 | public class GenericType { 4 | private T data; 5 | 6 | public GenericType(final T data) { 7 | this.data = data; 8 | } 9 | 10 | public T getData() { 11 | return data; 12 | } 13 | 14 | public void setData(final T data) { 15 | this.data = data; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/main/StartNuoDB.java: -------------------------------------------------------------------------------- 1 | package main; 2 | 3 | import io.ebean.test.containers.NuoDBContainer; 4 | 5 | public class StartNuoDB { 6 | 7 | public static void main(String[] args) { 8 | NuoDBContainer container = NuoDBContainer.builder("4.0") 9 | .schema("test_user") 10 | .build(); 11 | 12 | container.stopRemove(); 13 | container.startWithDropCreate(); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/inheritance/model/AbstractBaseClass.java: -------------------------------------------------------------------------------- 1 | package org.tests.inheritance.model; 2 | 3 | import jakarta.persistence.MappedSuperclass; 4 | 5 | @MappedSuperclass 6 | public class AbstractBaseClass { 7 | private String name; 8 | 9 | public String getName() { 10 | return name; 11 | } 12 | 13 | public void setName(String name) { 14 | this.name = name; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/model/basic/SomeEnum.java: -------------------------------------------------------------------------------- 1 | package org.tests.model.basic; 2 | 3 | public enum SomeEnum { 4 | 5 | ALPHA("Some nice Alpha"), 6 | BETA("Some nice Beta"); 7 | 8 | String description; 9 | 10 | SomeEnum(String description) { 11 | this.description = description; 12 | } 13 | 14 | @Override 15 | public String toString() { 16 | return description; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/model/interfaces/TestSelfMany.java: -------------------------------------------------------------------------------- 1 | package org.tests.model.interfaces; 2 | 3 | import io.ebean.xtest.BaseTestCase; 4 | import io.ebean.DB; 5 | import org.junit.jupiter.api.Test; 6 | 7 | public class TestSelfMany extends BaseTestCase { 8 | 9 | @Test 10 | public void self_manyToMany() { 11 | 12 | SelfManyMany m = new SelfManyMany("1"); 13 | DB.save(m); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/bean/NotEnhancedException.java: -------------------------------------------------------------------------------- 1 | package io.ebean.bean; 2 | 3 | /** 4 | * This exception is thrown, when the default implementation of EntityBean is not or not properly overwritten by enhancer. 5 | * 6 | * @author Roland Praml, FOCONIS AG 7 | * 8 | */ 9 | public class NotEnhancedException extends RuntimeException { 10 | private static final long serialVersionUID = 1L; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/persist/dml/InsertMetaOptions.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.server.persist.dml; 2 | 3 | import io.ebean.InsertOptions; 4 | 5 | /** 6 | * Generator for insert SQL with options. 7 | */ 8 | interface InsertMetaOptions { 9 | 10 | /** 11 | * Generate the SQL for the given insert options. 12 | */ 13 | String sql(boolean withId, InsertOptions insertOptions); 14 | } 15 | -------------------------------------------------------------------------------- /ebean-jackson-mapper/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | import io.ebean.jackson.mapper.ScalarJsonJacksonMapper; 2 | 3 | module io.ebean.jackson.mapper { 4 | 5 | requires io.ebean.core.type; 6 | requires com.fasterxml.jackson.annotation; 7 | requires com.fasterxml.jackson.core; 8 | requires com.fasterxml.jackson.databind; 9 | 10 | provides io.ebean.core.type.ScalarJsonMapper with ScalarJsonJacksonMapper; 11 | } 12 | -------------------------------------------------------------------------------- /ebean-postgis-types/src/main/java/io/ebean/postgis/latte/ScalarTypeGeoLattePolygon.java: -------------------------------------------------------------------------------- 1 | package io.ebean.postgis.latte; 2 | 3 | import io.ebean.config.dbplatform.ExtraDbTypes; 4 | import org.geolatte.geom.Polygon; 5 | 6 | public class ScalarTypeGeoLattePolygon extends ScalarTypeGeoLatteBase { 7 | 8 | public ScalarTypeGeoLattePolygon() { 9 | super(ExtraDbTypes.POLYGON, Polygon.class); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /ebean-querybean/src/test/java/org/example/domain/AWildCat.java: -------------------------------------------------------------------------------- 1 | package org.example.domain; 2 | 3 | import jakarta.persistence.DiscriminatorValue; 4 | import jakarta.persistence.Entity; 5 | import jakarta.persistence.Inheritance; 6 | 7 | @Inheritance 8 | @DiscriminatorValue("WC") 9 | @Entity 10 | public class AWildCat extends ACat { 11 | 12 | public AWildCat(String name) { 13 | super(name); 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/model/inheritmany/MBase.java: -------------------------------------------------------------------------------- 1 | package org.tests.model.inheritmany; 2 | 3 | import jakarta.persistence.Id; 4 | import jakarta.persistence.MappedSuperclass; 5 | 6 | @MappedSuperclass 7 | public class MBase { 8 | 9 | @Id 10 | Long id; 11 | 12 | public Long getId() { 13 | return id; 14 | } 15 | 16 | public void setId(Long id) { 17 | this.id = id; 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /ebean-test/src/test/resources/test-ebean.properties: -------------------------------------------------------------------------------- 1 | datasource.h2.username=sa 2 | 3 | 4 | ebean.jodaLocalTimeMode=normal 5 | #ebean.jodaLocalTimeMode=utc 6 | 7 | #ebean.skipCacheAfterWrite=false 8 | 9 | datasource.someotherdb.username=sa 10 | datasource.someotherdb.password= 11 | datasource.someotherdb.databaseUrl=jdbc:h2:mem:someotherdb;NON_KEYWORDS=KEY,VALUE 12 | datasource.someotherdb.databaseDriver=org.h2.Driver 13 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/expression/SubQueryOp.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.server.expression; 2 | 3 | enum SubQueryOp { 4 | EQ(" = "), 5 | NE(" <> "), 6 | GT(" > "), 7 | GE(" >= "), 8 | LT(" < "), 9 | LE(" <= "), 10 | IN(" in "), 11 | NOTIN(" not in "); 12 | final String expression; 13 | 14 | SubQueryOp(String expression) { 15 | this.expression = expression; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /ebean-core/src/test/java/io/ebeaninternal/server/type/ScalarTypeTimeZoneTest.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.server.type; 2 | 3 | import org.junit.jupiter.api.Test; 4 | 5 | import static org.junit.jupiter.api.Assertions.*; 6 | 7 | class ScalarTypeTimeZoneTest { 8 | 9 | ScalarTypeTimeZone type = new ScalarTypeTimeZone(); 10 | 11 | @Test 12 | void getLength() { 13 | assertEquals(32, type.length()); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/java/org/tests/inheritance/model/AbstractBaseClass.java: -------------------------------------------------------------------------------- 1 | package org.tests.inheritance.model; 2 | 3 | import jakarta.persistence.MappedSuperclass; 4 | 5 | @MappedSuperclass 6 | public class AbstractBaseClass { 7 | private String name; 8 | 9 | public String getName() { 10 | return name; 11 | } 12 | 13 | public void setName(String name) { 14 | this.name = name; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ebean-pgvector-types/src/test/java/org/example/domain/BaseEntity.java: -------------------------------------------------------------------------------- 1 | package org.example.domain; 2 | 3 | import jakarta.persistence.Id; 4 | import jakarta.persistence.MappedSuperclass; 5 | 6 | @MappedSuperclass 7 | abstract class BaseEntity { 8 | 9 | @Id 10 | Long id; 11 | 12 | public Long getId() { 13 | return id; 14 | } 15 | 16 | public void setId(Long id) { 17 | this.id = id; 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /ebean-postgis-types/src/test/java/org/example/domain/BaseEntity.java: -------------------------------------------------------------------------------- 1 | package org.example.domain; 2 | 3 | import jakarta.persistence.Id; 4 | import jakarta.persistence.MappedSuperclass; 5 | 6 | @MappedSuperclass 7 | abstract class BaseEntity { 8 | 9 | @Id 10 | Long id; 11 | 12 | public Long getId() { 13 | return id; 14 | } 15 | 16 | public void setId(Long id) { 17 | this.id = id; 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/text/StringFormatter.java: -------------------------------------------------------------------------------- 1 | package io.ebean.text; 2 | 3 | /** 4 | * Convert an Object value into a String value. 5 | *

6 | * Basic interface to support CSV, JSON and XML processing. 7 | *

8 | */ 9 | @FunctionalInterface 10 | public interface StringFormatter { 11 | 12 | /** 13 | * Convert an Object value into a String value. 14 | */ 15 | String format(Object value); 16 | } 17 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/query/SqlTreeJoin.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.server.query; 2 | 3 | import io.ebeaninternal.server.deploy.DbSqlContext; 4 | 5 | /** 6 | * Extra Sql joins conditionally added if required (after children are joined). 7 | */ 8 | public interface SqlTreeJoin { 9 | 10 | /** 11 | * Add the extra join if required. 12 | */ 13 | void addJoin(DbSqlContext ctx); 14 | 15 | } 16 | -------------------------------------------------------------------------------- /ebean-net-postgis-types/src/test/java/org/example/domain/BaseEntity.java: -------------------------------------------------------------------------------- 1 | package org.example.domain; 2 | 3 | import jakarta.persistence.Id; 4 | import jakarta.persistence.MappedSuperclass; 5 | 6 | @MappedSuperclass 7 | abstract class BaseEntity { 8 | 9 | @Id 10 | Long id; 11 | 12 | public Long getId() { 13 | return id; 14 | } 15 | 16 | public void setId(Long id) { 17 | this.id = id; 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /ebean-querybean/src/test/java/org/example/domain/OtherMain.java: -------------------------------------------------------------------------------- 1 | package org.example.domain; 2 | 3 | import jakarta.persistence.Entity; 4 | import jakarta.persistence.Id; 5 | import jakarta.persistence.ManyToOne; 6 | import org.example.domain.other.OtherBean; 7 | 8 | @SuppressWarnings("unused") 9 | @Entity 10 | public class OtherMain { 11 | 12 | @Id 13 | long id; 14 | 15 | @ManyToOne 16 | OtherBean other; 17 | 18 | } 19 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/model/basic/Clan.java: -------------------------------------------------------------------------------- 1 | package org.tests.model.basic; 2 | 3 | import io.ebean.Model; 4 | import jakarta.persistence.*; 5 | 6 | import java.util.ArrayList; 7 | import java.util.List; 8 | 9 | @Entity 10 | public class Clan extends Model { 11 | 12 | @Id 13 | public int id; 14 | 15 | @OneToMany(cascade = CascadeType.ALL) 16 | public List buildings = new ArrayList<>(); 17 | } 18 | -------------------------------------------------------------------------------- /platforms/postgres/src/main/java/io/ebean/platform/postgres/Postgres9Platform.java: -------------------------------------------------------------------------------- 1 | package io.ebean.platform.postgres; 2 | 3 | import io.ebean.annotation.Platform; 4 | 5 | /** 6 | * Postgres9 platform - uses serial type for identity columns. 7 | */ 8 | public class Postgres9Platform extends PostgresPlatform { 9 | 10 | public Postgres9Platform() { 11 | super(); 12 | this.platform = Platform.POSTGRES9; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /tests/test-java16/src/main/java/org/example/records/CourseRecordEntity.java: -------------------------------------------------------------------------------- 1 | package org.example.records; 2 | 3 | import io.ebean.annotation.Identity; 4 | 5 | import jakarta.persistence.Entity; 6 | import jakarta.persistence.Id; 7 | import jakarta.persistence.Table; 8 | 9 | @Identity(start = 1000) 10 | @Entity 11 | @Table(name="course_rec") 12 | public record CourseRecordEntity(@Id long id, String name, String notes) { 13 | } 14 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/service/SpiFetchGroupQuery.java: -------------------------------------------------------------------------------- 1 | package io.ebean.service; 2 | 3 | import io.ebean.FetchGroup; 4 | import io.ebean.Query; 5 | 6 | /** 7 | * Extension of Query to build FetchGroup via query beans. 8 | */ 9 | public interface SpiFetchGroupQuery extends Query { 10 | 11 | /** 12 | * Build the fetch group with select and fetch clauses. 13 | */ 14 | FetchGroup buildFetchGroup(); 15 | } 16 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/core/InternString.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.server.core; 2 | 3 | /** 4 | * Used to reduce memory consumption of strings used in deployment processing. 5 | */ 6 | public final class InternString { 7 | 8 | /** 9 | * Return the shared instance of this string. 10 | */ 11 | public static String intern(String s) { 12 | return s == null ? null : s.intern(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /ebean-core/src/test/java/org/tests/model/embedded/Eembeddable.java: -------------------------------------------------------------------------------- 1 | package org.tests.model.embedded; 2 | 3 | import jakarta.persistence.Embeddable; 4 | 5 | @Embeddable 6 | public class Eembeddable { 7 | 8 | String description; 9 | 10 | public String getDescription() { 11 | return description; 12 | } 13 | 14 | public void setDescription(String description) { 15 | this.description = description; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /ebean-test/src/main/java/io/ebean/test/config/provider/FixedEncryptKey.java: -------------------------------------------------------------------------------- 1 | package io.ebean.test.config.provider; 2 | 3 | import io.ebean.config.EncryptKey; 4 | 5 | final class FixedEncryptKey implements EncryptKey { 6 | 7 | private final String key; 8 | 9 | FixedEncryptKey(String key) { 10 | this.key = key; 11 | } 12 | 13 | @Override 14 | public String getStringValue() { 15 | return key; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/basic/encrypt/BasicEncryptKey.java: -------------------------------------------------------------------------------- 1 | package org.tests.basic.encrypt; 2 | 3 | import io.ebean.config.EncryptKey; 4 | 5 | public class BasicEncryptKey implements EncryptKey { 6 | 7 | private final String key; 8 | 9 | public BasicEncryptKey(String key) { 10 | this.key = key; 11 | } 12 | 13 | @Override 14 | public String getStringValue() { 15 | return key; 16 | } 17 | 18 | 19 | } 20 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/inheritance/cascadedelete/RootBean.java: -------------------------------------------------------------------------------- 1 | package org.tests.inheritance.cascadedelete; 2 | 3 | import jakarta.persistence.*; 4 | import java.util.UUID; 5 | 6 | @Entity 7 | @Inheritance 8 | public abstract class RootBean { 9 | 10 | @Id 11 | @GeneratedValue 12 | public UUID id; 13 | 14 | // added as workaround for the issue 15 | @PreRemove 16 | public void preRemove() { 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/model/embedded/Eembeddable.java: -------------------------------------------------------------------------------- 1 | package org.tests.model.embedded; 2 | 3 | import jakarta.persistence.Embeddable; 4 | 5 | @Embeddable 6 | public class Eembeddable { 7 | 8 | String description; 9 | 10 | public String getDescription() { 11 | return description; 12 | } 13 | 14 | public void setDescription(String description) { 15 | this.description = description; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/config/EntityClassRegister.java: -------------------------------------------------------------------------------- 1 | package io.ebean.config; 2 | 3 | import java.util.List; 4 | 5 | /** 6 | * Loads and returns entity classes to register with Ebean databases. 7 | */ 8 | public interface EntityClassRegister { 9 | 10 | /** 11 | * Return entity classes to register for a named DB (not default DB). 12 | */ 13 | List> classesFor(String dbName, boolean defaultServer); 14 | } 15 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/service/SpiContainerFactory.java: -------------------------------------------------------------------------------- 1 | package io.ebean.service; 2 | 3 | import io.ebean.config.ContainerConfig; 4 | 5 | /** 6 | * Provides shutdown of the entire container. 7 | */ 8 | public interface SpiContainerFactory extends BootstrapService { 9 | 10 | /** 11 | * Create the Container that builds EbeanServer instances. 12 | */ 13 | SpiContainer create(ContainerConfig containerConfig); 14 | } 15 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/type/GeoTypeBinder.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.server.type; 2 | 3 | import io.ebean.core.type.DataBinder; 4 | 5 | import java.sql.SQLException; 6 | 7 | /** 8 | * Binder for Geometry types. 9 | */ 10 | public interface GeoTypeBinder { 11 | 12 | /** 13 | * Bind the geometry type. 14 | */ 15 | void bind(DataBinder binder, int dataType, Object data) throws SQLException; 16 | } 17 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/HanaRowStoreDdl.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.dbmigration.ddlgeneration.platform; 2 | 3 | import io.ebean.config.dbplatform.DatabasePlatform; 4 | 5 | public class HanaRowStoreDdl extends AbstractHanaDdl { 6 | 7 | public HanaRowStoreDdl(DatabasePlatform platform) { 8 | super(platform); 9 | this.createTable = "create row table"; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/mysql/procedures/model/1.2__dropsFor_1.1.model.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /ebean-postgis-types/src/main/java/io/ebean/postgis/latte/ScalarTypeGeoLatteMultiPoint.java: -------------------------------------------------------------------------------- 1 | package io.ebean.postgis.latte; 2 | 3 | import io.ebean.config.dbplatform.ExtraDbTypes; 4 | import org.geolatte.geom.MultiPoint; 5 | 6 | public class ScalarTypeGeoLatteMultiPoint extends ScalarTypeGeoLatteBase { 7 | 8 | public ScalarTypeGeoLatteMultiPoint() { 9 | super(ExtraDbTypes.MULTIPOINT, MultiPoint.class); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /ebean-querybean/src/main/java/io/ebean/typequery/TQPath.java: -------------------------------------------------------------------------------- 1 | package io.ebean.typequery; 2 | 3 | /** 4 | * Helper for adding a path prefix to a property. 5 | */ 6 | public final class TQPath { 7 | 8 | /** 9 | * Return the full path by adding the prefix to the property name (null safe). 10 | */ 11 | public static String add(String prefix, String name) { 12 | return (prefix == null) ? name : prefix+"."+name; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/misc/migration/v1_1/EHistory4.java: -------------------------------------------------------------------------------- 1 | package misc.migration.v1_1; 2 | 3 | 4 | import io.ebean.annotation.History; 5 | 6 | import jakarta.persistence.Entity; 7 | import jakarta.persistence.Id; 8 | import jakarta.persistence.Table; 9 | 10 | 11 | @Entity 12 | @Table(name = "migtest_e_history4") 13 | @History 14 | public class EHistory4 { 15 | 16 | @Id 17 | Integer id; 18 | 19 | Long testNumber; 20 | 21 | } 22 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/cache/ServerCacheNotify.java: -------------------------------------------------------------------------------- 1 | package io.ebean.cache; 2 | 3 | /** 4 | * Interface for both listening to notification changes and sending them to other members of the cluster. 5 | */ 6 | public interface ServerCacheNotify { 7 | 8 | /** 9 | * Notify other server cache members of the table modifications or process the notifications. 10 | */ 11 | void notify(ServerCacheNotification notification); 12 | } 13 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeString.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.server.type; 2 | 3 | import java.sql.Types; 4 | 5 | /** 6 | * ScalarType for String. 7 | */ 8 | public final class ScalarTypeString extends ScalarTypeStringBase { 9 | 10 | public static final ScalarTypeString INSTANCE = new ScalarTypeString(); 11 | 12 | private ScalarTypeString() { 13 | super(true, Types.VARCHAR); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ebean-postgis-types/src/main/java/io/ebean/postgis/latte/ScalarTypeGeoLatteLineString.java: -------------------------------------------------------------------------------- 1 | package io.ebean.postgis.latte; 2 | 3 | import io.ebean.config.dbplatform.ExtraDbTypes; 4 | import org.geolatte.geom.LineString; 5 | 6 | public class ScalarTypeGeoLatteLineString extends ScalarTypeGeoLatteBase { 7 | 8 | public ScalarTypeGeoLatteLineString() { 9 | super(ExtraDbTypes.LINESTRING, LineString.class); 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /ebean-redis/src/test/resources/application-test.yaml: -------------------------------------------------------------------------------- 1 | ebean: 2 | dumpMetricsOnShutdown: true 3 | dumpMetricsOptions: sql,hash,loc 4 | test: 5 | registerTestTenantProvider: false 6 | redis: latest 7 | # shutdown: stop # stop | remove 8 | platform: h2 # h2, postgres, mysql, oracle, sqlserver, sqlite 9 | ddlMode: dropCreate # none | dropCreate | create | migration | createOnly | migrationDropCreate 10 | dbName: myapp 11 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/misc/migration/v1_0/EHistory3.java: -------------------------------------------------------------------------------- 1 | package misc.migration.v1_0; 2 | 3 | 4 | import io.ebean.annotation.History; 5 | 6 | import jakarta.persistence.Entity; 7 | import jakarta.persistence.Id; 8 | import jakarta.persistence.Table; 9 | 10 | 11 | @Entity 12 | @Table(name = "migtest_e_history3") 13 | @History 14 | public class EHistory3 { 15 | 16 | @Id 17 | Integer id; 18 | 19 | String testString; 20 | 21 | } 22 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/misc/migration/v1_0/EHistory4.java: -------------------------------------------------------------------------------- 1 | package misc.migration.v1_0; 2 | 3 | 4 | import io.ebean.annotation.History; 5 | 6 | import jakarta.persistence.Entity; 7 | import jakarta.persistence.Id; 8 | import jakarta.persistence.Table; 9 | 10 | 11 | @Entity 12 | @Table(name = "migtest_e_history4") 13 | @History 14 | public class EHistory4 { 15 | 16 | @Id 17 | Integer id; 18 | 19 | Integer testNumber; 20 | 21 | } 22 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/misc/migration/v1_0/EHistory5.java: -------------------------------------------------------------------------------- 1 | package misc.migration.v1_0; 2 | 3 | 4 | import io.ebean.annotation.History; 5 | 6 | import jakarta.persistence.Entity; 7 | import jakarta.persistence.Id; 8 | import jakarta.persistence.Table; 9 | 10 | 11 | @Entity 12 | @Table(name = "migtest_e_history5") 13 | @History 14 | public class EHistory5 { 15 | 16 | @Id 17 | Integer id; 18 | 19 | Integer testNumber; 20 | 21 | } 22 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/misc/migration/v1_2/EHistory3.java: -------------------------------------------------------------------------------- 1 | package misc.migration.v1_2; 2 | 3 | 4 | import io.ebean.annotation.History; 5 | 6 | import jakarta.persistence.Entity; 7 | import jakarta.persistence.Id; 8 | import jakarta.persistence.Table; 9 | 10 | 11 | @Entity 12 | @Table(name = "migtest_e_history3") 13 | @History 14 | public class EHistory3 { 15 | 16 | @Id 17 | Integer id; 18 | 19 | String testString; 20 | 21 | } 22 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/misc/migration/v1_2/EHistory4.java: -------------------------------------------------------------------------------- 1 | package misc.migration.v1_2; 2 | 3 | 4 | import io.ebean.annotation.History; 5 | 6 | import jakarta.persistence.Entity; 7 | import jakarta.persistence.Id; 8 | import jakarta.persistence.Table; 9 | 10 | 11 | @Entity 12 | @Table(name = "migtest_e_history4") 13 | @History 14 | public class EHistory4 { 15 | 16 | @Id 17 | Integer id; 18 | 19 | Integer testNumber; 20 | 21 | } 22 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/misc/migration/v1_2/EHistory5.java: -------------------------------------------------------------------------------- 1 | package misc.migration.v1_2; 2 | 3 | 4 | import io.ebean.annotation.History; 5 | 6 | import jakarta.persistence.Entity; 7 | import jakarta.persistence.Id; 8 | import jakarta.persistence.Table; 9 | 10 | 11 | @Entity 12 | @Table(name = "migtest_e_history5") 13 | @History 14 | public class EHistory5 { 15 | 16 | @Id 17 | Integer id; 18 | 19 | Integer testNumber; 20 | 21 | } 22 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/model/join/HCustomer.java: -------------------------------------------------------------------------------- 1 | package org.tests.model.join; 2 | 3 | import jakarta.persistence.Entity; 4 | import jakarta.persistence.Id; 5 | 6 | @Entity 7 | public class HCustomer { 8 | 9 | @Id 10 | final String cid; 11 | 12 | final String name; 13 | 14 | String status = "A"; 15 | 16 | public HCustomer(String cid, String name) { 17 | this.cid = cid; 18 | this.name = name; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/metric/QueryPlanMetric.java: -------------------------------------------------------------------------------- 1 | package io.ebean.metric; 2 | 3 | import io.ebean.meta.MetricVisitor; 4 | 5 | /** 6 | * Internal Query plan metric holder. 7 | */ 8 | public interface QueryPlanMetric { 9 | 10 | /** 11 | * Return the underlying timed metric. 12 | */ 13 | TimedMetric metric(); 14 | 15 | /** 16 | * Visit the underlying metric. 17 | */ 18 | void visit(MetricVisitor visitor); 19 | } 20 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/persist/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Persistence Implementation 5 | 6 | 7 | Persistence Implementation 8 | 9 |

10 | Implementing the saving and deleting of beans, and the executing of 11 | updateable and callable sql. 12 |

13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /ebean-core/src/test/java/org/tests/model/bridge/BSite.java: -------------------------------------------------------------------------------- 1 | package org.tests.model.bridge; 2 | 3 | import jakarta.persistence.Entity; 4 | import jakarta.persistence.GeneratedValue; 5 | import jakarta.persistence.Id; 6 | import java.util.UUID; 7 | 8 | @Entity 9 | public class BSite { 10 | 11 | @Id @GeneratedValue 12 | UUID id; 13 | 14 | String name; 15 | 16 | public BSite(String name) { 17 | this.name = name; 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/multitenant/partition/MtNone.java: -------------------------------------------------------------------------------- 1 | package org.multitenant.partition; 2 | 3 | import jakarta.persistence.Entity; 4 | import jakarta.persistence.Id; 5 | import jakarta.persistence.Version; 6 | 7 | @Entity 8 | public class MtNone { 9 | 10 | @Id 11 | long id; 12 | 13 | final String none; 14 | 15 | @Version 16 | long version; 17 | 18 | public MtNone(String none) { 19 | this.none = none; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/model/bridge/BSite.java: -------------------------------------------------------------------------------- 1 | package org.tests.model.bridge; 2 | 3 | import jakarta.persistence.Entity; 4 | import jakarta.persistence.GeneratedValue; 5 | import jakarta.persistence.Id; 6 | import java.util.UUID; 7 | 8 | @Entity 9 | public class BSite { 10 | 11 | @Id @GeneratedValue 12 | UUID id; 13 | 14 | String name; 15 | 16 | public BSite(String name) { 17 | this.name = name; 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /tests/test-java16/src/test/java/org/example/records/CustomEqualsTest.java: -------------------------------------------------------------------------------- 1 | package org.example.records; 2 | 3 | import org.junit.jupiter.api.Test; 4 | 5 | import static org.assertj.core.api.Assertions.assertThat; 6 | 7 | class CustomEqualsTest { 8 | 9 | @Test 10 | void equals() { 11 | var one = new CustomEquals("a", "b", "c"); 12 | var two = new CustomEquals("a", "b", "c"); 13 | 14 | assertThat(one).isEqualTo(two); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/FutureRowCount.java: -------------------------------------------------------------------------------- 1 | package io.ebean; 2 | 3 | import java.util.concurrent.Future; 4 | 5 | /** 6 | * Represents the result of a background query execution for the total row count 7 | * for a query. 8 | *

9 | * It extends the java.util.concurrent.Future. 10 | *

11 | * 12 | * @param the BeanType 13 | * @author rbygrave 14 | */ 15 | public interface FutureRowCount extends Future { 16 | } 17 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/api/GeoTypeProvider.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.api; 2 | 3 | import io.ebean.DatabaseBuilder; 4 | import io.ebeaninternal.server.type.GeoTypeBinder; 5 | 6 | /** 7 | * Provider of Geometry type binder support. 8 | */ 9 | public interface GeoTypeProvider { 10 | 11 | /** 12 | * Create a binder for binding geometry types. 13 | */ 14 | GeoTypeBinder createBinder(DatabaseBuilder.Settings config); 15 | } 16 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/api/NaturalKeyEntry.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.api; 2 | 3 | /** 4 | * An entry for natural key lookup. 5 | */ 6 | public interface NaturalKeyEntry { 7 | 8 | /** 9 | * Return the natural cache key (String concatenation of values). 10 | */ 11 | String key(); 12 | 13 | /** 14 | * Return the inValue (used to remove from IN clause of original query). 15 | */ 16 | Object inValue(); 17 | } 18 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/persist/TrimLogSql.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.server.persist; 2 | 3 | /** 4 | * Utility to improve logging of raw SQL that contains new line characters. 5 | */ 6 | public final class TrimLogSql { 7 | 8 | /** 9 | * Replace new line chars for nicer logging of multi-line sql strings. 10 | */ 11 | public static String trim(String sql) { 12 | return sql.replace("\n","\\n "); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/properties/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Bean Reflection 5 | 6 | 7 | Bean reflection Implementation 8 | 9 |

10 | Abstracts the bean property getter and setter methods. 11 | Allows Code generation or reflection to be used. 12 |

13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/misc/migration/v1_0/EHistory.java: -------------------------------------------------------------------------------- 1 | package misc.migration.v1_0; 2 | 3 | 4 | import io.ebean.annotation.Tablespace; 5 | 6 | import jakarta.persistence.Entity; 7 | import jakarta.persistence.Id; 8 | import jakarta.persistence.Table; 9 | 10 | @Entity 11 | @Table(name = "migtest_e_history") 12 | @Tablespace("db2;MAIN;") 13 | public class EHistory { 14 | 15 | @Id 16 | Integer id; 17 | 18 | 19 | String testString; 20 | } 21 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/inherit/ChildB.java: -------------------------------------------------------------------------------- 1 | package org.tests.inherit; 2 | 3 | import jakarta.persistence.DiscriminatorValue; 4 | import jakarta.persistence.Entity; 5 | 6 | @Entity 7 | @DiscriminatorValue("B") 8 | public class ChildB extends Parent { 9 | 10 | @Override 11 | public String getName() { 12 | return "B Name"; 13 | } 14 | 15 | public ChildB(Integer number, String more) { 16 | super(number, more); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/api/SpiDdlGenerator.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.api; 2 | 3 | /** 4 | * DDL generate and run for drop all/create all. 5 | */ 6 | public interface SpiDdlGenerator { 7 | 8 | /** 9 | * Generate and run the DDL for drop-all and create-all scripts. 10 | *

11 | * Run based on on property settings for ebean.ddl.generate and ebean.ddl.run etc. 12 | */ 13 | void execute(boolean online); 14 | 15 | } 16 | -------------------------------------------------------------------------------- /ebean-core/src/main/java/io/ebeaninternal/server/core/timezone/NoDataTimeZone.java: -------------------------------------------------------------------------------- 1 | package io.ebeaninternal.server.core.timezone; 2 | 3 | import java.util.Calendar; 4 | 5 | /** 6 | * Implementation of DataTimeZone when no time zone is specified. 7 | */ 8 | public class NoDataTimeZone implements DataTimeZone { 9 | 10 | @Override 11 | public Calendar getTimeZone() { 12 | // return null so Calendar is not used 13 | return null; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ebean-ddl-generator/src/test/resources/assert/drop-create-table.txt: -------------------------------------------------------------------------------- 1 | -- drop all 2 | drop table if exists foo; 3 | 4 | -- apply changes 5 | create table foo ( 6 | col1 varchar(4) generated by default as identity not null, 7 | col2 varchar(30) not null, 8 | col3 varchar(30) not null, 9 | constraint pk_foo primary key (col1) 10 | ); 11 | comment on table foo is 'comment'; 12 | 13 | -------------------------------------------------------------------------------- /ebean-postgis-types/src/main/java/io/ebean/postgis/latte/ScalarTypeGeoLatteMultiPolygon.java: -------------------------------------------------------------------------------- 1 | package io.ebean.postgis.latte; 2 | 3 | import io.ebean.config.dbplatform.ExtraDbTypes; 4 | import org.geolatte.geom.MultiPolygon; 5 | 6 | public class ScalarTypeGeoLatteMultiPolygon extends ScalarTypeGeoLatteBase { 7 | 8 | public ScalarTypeGeoLatteMultiPolygon() { 9 | super(ExtraDbTypes.MULTIPOLYGON, MultiPolygon.class); 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/inherit/ChildA.java: -------------------------------------------------------------------------------- 1 | package org.tests.inherit; 2 | 3 | import jakarta.persistence.DiscriminatorValue; 4 | import jakarta.persistence.Entity; 5 | 6 | @Entity 7 | @DiscriminatorValue("A") 8 | public class ChildA extends Parent { 9 | 10 | @Override 11 | public String getName() { 12 | return "A Name"; 13 | } 14 | 15 | public ChildA(Integer number, String more) { 16 | super(number, more); 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/inheritance/order/OrderedA.java: -------------------------------------------------------------------------------- 1 | package org.tests.inheritance.order; 2 | 3 | import jakarta.persistence.Entity; 4 | 5 | @Entity 6 | public class OrderedA extends OrderedParent { 7 | 8 | String orderedAName; 9 | 10 | public String getOrderedAName() { 11 | return orderedAName; 12 | } 13 | 14 | public void setOrderedAName(final String orderedAName) { 15 | this.orderedAName = orderedAName; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/inheritance/order/OrderedB.java: -------------------------------------------------------------------------------- 1 | package org.tests.inheritance.order; 2 | 3 | import jakarta.persistence.Entity; 4 | 5 | @Entity 6 | public class OrderedB extends OrderedParent { 7 | 8 | String orderedBName; 9 | 10 | public String getOrderedBName() { 11 | return orderedBName; 12 | } 13 | 14 | public void setOrderedBName(final String orderedBName) { 15 | this.orderedBName = orderedBName; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/model/ivo/Segment.java: -------------------------------------------------------------------------------- 1 | package org.tests.model.ivo; 2 | 3 | /** 4 | * Simple example of String based IVO. 5 | */ 6 | public class Segment { 7 | 8 | private final String code; 9 | 10 | public Segment(String code) { 11 | this.code = code; 12 | } 13 | 14 | public String getCode() { 15 | return code; 16 | } 17 | 18 | @Override 19 | public String toString() { 20 | return code; 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /ebean-test/src/test/java/org/tests/model/softdelete/ESoftDelUp.java: -------------------------------------------------------------------------------- 1 | package org.tests.model.softdelete; 2 | 3 | import jakarta.persistence.Entity; 4 | 5 | @Entity 6 | public class ESoftDelUp extends BaseSoftDelete { 7 | 8 | String up; 9 | 10 | public ESoftDelUp(String up) { 11 | this.up = up; 12 | } 13 | 14 | public String getUp() { 15 | return up; 16 | } 17 | 18 | public void setUp(String up) { 19 | this.up = up; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /tests/test-kotlin/src/main/kotlin/org/example/domain/MyKotInner.kt: -------------------------------------------------------------------------------- 1 | package org.example.domain 2 | 3 | import jakarta.persistence.* 4 | 5 | @Entity 6 | @Table(name = "t_inner") 7 | @IdClass(MyKotInner.Mid::class) 8 | class MyKotInner { 9 | 10 | @Id 11 | var one: String = "0" 12 | @Id 13 | var two: String = "0" 14 | 15 | var description: String? = null 16 | 17 | @Embeddable 18 | data class Mid(val one: String, val two: String) 19 | 20 | } 21 | -------------------------------------------------------------------------------- /ebean-api/src/main/java/io/ebean/config/dbplatform/DbEncryptFunction.java: -------------------------------------------------------------------------------- 1 | package io.ebean.config.dbplatform; 2 | 3 | public interface DbEncryptFunction { 4 | 5 | /** 6 | * Return the SQL for decrypting a column returning a VARCHAR. 7 | */ 8 | String getDecryptSql(String columnWithTableAlias); 9 | 10 | /** 11 | * Return the DB function with bind variables used to encrypt a VARCHAR value. 12 | */ 13 | String getEncryptBindSql(); 14 | 15 | } 16 | --------------------------------------------------------------------------------