4.0.0-beta1
Pre-release
Pre-release
In 4.0, DBFlow has greatly improved its internals and flexibility in this release. We have removed the Model
restriction, rewritten the annotation processor completely in Kotlin, and more awesome improvements.
Major Changes In this release
PrimaryKey
can haveTypeConverters
, be table-based objects, and all kinds of objects. No real restrictions.ForeignKey
have been revamped to allowstubbedRelationship
. This replacesForeignKeyContainer
.Model
interface now includesload()
to enabled reloading very easily when fields change.- All
ModelContainer
implementation + support has been removed. A few reasons pushed the removal, including implementation. Since removing support, the annotation processor is cleaner, easier to maintain, and more streamlined. Also the support for it was not up to par, and by removing it, we can focus on improving the quality of the other features. - The annotation processor has been rewritten in Kotlin! By doing so, we reduced the code by ~13%.
- Removed the
Model
restriction on tables. If you leave out extendingBaseModel
, you must interact with theModelAdapter
. - We generate ~45% less code than 3.0. Combined the
_Table
+_Adapter
into the singular_Table
class, which contains bothProperty
+ all of the regularModelAdapter
methods. To ease the transition to 4.0, it is named_Table
but extendsModelAdapter
. So most use cases / interactions will not break.