DEV Community

Cover image for Finally, the kotlin API and External Cache are supported, and my ORM is finished.
babyfish-ct
babyfish-ct

Posted on

Finally, the kotlin API and External Cache are supported, and my ORM is finished.

Hi Guys

It's been a few more months since the last message, my ORM is completely finished, with two important changes.

  1. Kotlin API is supported, all the code snippets in the documentation become tab containing 2 cards: Java and Kotlin.
  2. Support powerful external cache.
  • Does not affect user's choice of caching technology_(The examples use Caffeine and Redis)_.

  • For object trees with arbitrary depth, not simple objects.

  • Automatically guarantee data consistency between database and cache.

Youtube link: https://www.youtube.com/watch?v=Rt5zNv0YR2E

(The framework supports Java API and kotlin API, but for easy understanding, this video only uses kotlin to explain)

Total time: 36 minutes.

  • Object Fetcher: Query object trees with arbitrary depth*(06:10)*

  • Save Command: Save object trees with arbitrary depth*(06:44)*

  • External Cache: Cache object trees with arbitrary depth, ensure data consistency*(12:09)*

  • Dynamic table joins (01:23)

  • Paging query (01:50)

  • Quickly build Spring GraphQL applications (05:27)


The story of the project, its creative process

In the past nearly 20 years of work, I have deeply used too many ORM frameworks, and read all the source code of some of them, but none of them can meet my expectations.

So I quit my job in June last year, stay at home, work hard for my ideals, develop several open source projects. The last project is to create a revolutionary ORM, to be the most powerful and fastest.

Q: The competition for ORM ended many years ago, why create new ORM?

A: To solve deep-seated problems, a large number of developers are troubled by these problems every day, but they are not aware of it.

Q: Why give up all income to create these projects?

A: My environment that seeks short-term interests, not long-term ones. Lack of innovation and no support for innovation.

Keep trying, keep looking for the best solution. During this period, I also encountered a lot of unhappy things. For example, others were not optimistic, and the r/java community of reddit blocked my account on the grounds that they were not allowed to promote their related matters. But these are not important, I tried to solve all the problems I faced before, and finally today, jimmer is fully completed, and all my pre-design goals have been achieved.

During the 14 months of voluntarily giving up any income for the sake of the ideal. I contributed to three projects, in chronological order:

  1. A small project for web developers: https://github.com/babyfish-ct/graphql-ts-client.
  2. A small project for web developers: https://github.com/babyfish-ct/graphql-state.
  3. A medium project for Java and Kotlin developers: https://github.com/babyfish-ct/jimmer.

In any case, now I'm happy because all my ideas became reality.

Top comments (0)