Jimmer Versions Save

A revolutionary ORM framework for both java and kotlin.

v0.8.130

1 week ago
  1. Fix/Support #502, #003, #507, #511, #512, #513, #519, #521, #522, #523, #524, #525, #528, #530, #537, #531, #539, #541, #550, #551, #557

  2. ScalarProvider becomes interface, a new class AbstractScalarProvider is provided.

  3. Fixed bug raised when both paging query and global filter are used.

  4. inlist predicates is changed. the max values become 1000(the limit or oracle, longer list will be splited to parts joined with or), new configuration jimmer.in-list-padding-enabled and jimmer.in-list-to-any-equality.enabled is provided.

  5. Better join type deciding for dynamic predicate.

  6. Replace jackson serializataion/deserialization of immutable objects, now it allows user to use any advanced feature of jackson.

  7. Types decorated by @Embeddable and @Immutable can be mapped by DTO language.

  8. Avoid to use ctx.getBeansOfType of spring framework which ignores the exceptions during object creating.

  9. Let nullable properties of input DTO support 4 modifiers: fixed, static, dynamic, fuzzy.

  10. Logical deleted flag is automatically excluded from allScalars(Both fetcher and DTO language)

  11. User annotation @ExcludedFromAllScalars which allows any properties can be excluded from allScalars(Both fetcher and DTO language)

v0.8.116

1 month ago
  1. SqlClient supports zoneId configuration, which can parse date data based on the time zone of the database instead of the time zone of the current JVM

  2. Formula company attributes support associated attributes, see the following two examples (take kt as an example)

@Formulat(depenedencies = ["authors"])
 val authorCount: Int
   get() = authors.size()

@Formula(dependencies = ["authors.firstName", "authors.lastName"])
 val authorNames: List<String>
   get() = authors.map { "${it.firstName} ${it.lastName}" }
  1. Support ImmutableCompanion for kotlin

    @Entity
    

interface TreeNode { ... omit properties... companion object: ImmutableCompanion<TreeNode> } If you declare this companion object with the selection as an immutable interface, you can build the immutable object using the golang struct initialization style

val treeNode = TreeNode {
   name = "etc"
   childNodes = listOf(
      TreeNode {
         name = "host"
      },
      TreeNode {
         name = "man.conf"
      }
   )
}

The corresponding example 'kotlin/jimmer-core-kt' has been modified

  1. Fixes/Support: #478, #490, #493, #494

  2. Fixed the bug that embeddable does not use flat mode in specification of DTO language

  3. Kotlin can only be ToOne and Embeddable syntactic sugar

    Previous code

    store().apply {
        name = "MANING"
        website = "https://www.maning.com"
    }
    

Code now

store {
    name = "MANING"
    website = "https://www.maning.com"
}
  1. Update the Discord Link to a link that does not expire

v0.8.114

1 month ago
  1. Fix/Provide #449, #451,#452, #453, #466, #468, #469, #471, #473, #474, #476
  2. Fix a bug of jimmer-graphql
  3. Properties in embeddable type can be handled by both ObjectFetcher and DTO language
  4. Nested flat is supported in DTO language
  5. Partial embeddable type is supported by save-command
  6. Formula property of entity can depend on nested properties of embeddable type
  7. Embeddable type supports formula properties
  8. @JoinTable supports cascadeDeletedBySource and cascadeDeletedByTarget
  9. DTO language supports interface implementation

v0.8.104

2 months ago
  1. Fix/Support #427,#428,#433,#434,#436, #443, #444, #447, #448
  2. Let eq and ne of kotlin accept nullable value
  3. Imporove GraphQL, DataFetchingEnvironment can be used to create jimmer fetcher
  4. JoinTable.inverseColumnName -> JoinTable.inverseJoinColumnName
  5. Pretty nested class name for Generated DTO Type
  6. Better code generator for multiple-props recursion DTO
  7. Support multiple datasources
  8. Change behavior of DissociateAction.LAX
  9. Smarter behavior for Order.makeOrders
  10. Big change of documentation
  11. Home page changed

v0.8.92

3 months ago
  1. Support array mapping for H2 and Postgres, Postgres requires @Column(sqlElementType = '...')

  2. Fix issue/Support #370, #381, #386, #390, #391, #392, #393, #394, #395, #422, #411, #405, #421

  3. Add @JoinTable.LogcalDeletedFilter

  4. Add @JoinTable.JoinTableFilter

  5. Add @JoinTable.deletedWhenEndpointIsLogicallyDeleted

  6. Support database which does not support tuple expression. Eg, SQL server

  7. Add optioanl dependency jimmer-client-swagger, If it is runtime classpath, Jimmer's OpenAPI implementation will use the embedded CSS and JS, not extranl CSS/JS links.

  8. Add global properties jimmer.client.controller-nullity-checked, it is enabled, it will validate argumenents of REST methods in restrict mode

  9. The count of (K)ConigurableTypedRootQuery is changed to fetchUnlimitedCount

  10. Support org.babyfish.jimmer.Page<T>, Fetch jimmer page: fetchPage(pageIndex, pageSize) Fetch spring page: fetchPage(pageIndex, pageSize, SpringPageFactory.create()) JRepository.pager is deprecated

  11. Redesign the recursive query (Big change)

  12. Support merge command(save command without dissociation)

  13. Fetcher.allTableFields()changed, if a foreign key base property has its @IdView property, fetch the idview property.

  14. Add allReferenceFields() into fetcher, add #allReferences into DTO language.

  15. Let Draft directly support getters and setters for associated ids even if there is no @IdView property

  16. The kotlin extension function fetchPage is renamed to fetchSpringPage

v0.8.77

4 months ago

Big change version 0.8.77, Please view QuickView of documentation

v0.8.44

5 months ago
  1. Fix bug of typescript downloading
  2. Enhance @org.babyfish.jimmer.JsonConverter, documentation will be added later
  3. Fix #324, #326 and #327

v0.8.42

5 months ago
  1. Refactor logical deletion, now it does not requires multi-view cache
  2. Refactor filter, now it can filter fields of other tables.
  3. Support CachableFilter.getAffectedSourceIds and TransisentResolver.getAffectedSourceIds
  4. Add LAX and CHECK into DisssociationAction
  5. Refactor DTO language, remove inheritance, add sepcification, unsafe input and export statement
  6. Allow to create DTO files in any projects. (previous version must be the project which defines the entity types)
  7. Add new demo example/java/data-authorization

v0.8.23

7 months ago

High-quality documentation is supported

v0.8.22

7 months ago
  1. Fix #257, #258

  2. English documentation reviewed