Mind is Software

Ying’s thoughts about software and business

Learning Scala

This is a note for learning Scala based on the tour of Scala. The word “Scala” is an abbreviation of the term SCAlable LAgnuage. It was created in 2003 as a multi-paradigm (OO + functional) programming language that is concise, elegant and type-safe.

Read more →

jOOQ SQL Building

This is a note about jOOQ SQL building based on the official jOOQ document. jOOQ use BNF-based hierarchy DSL to emulate SQL in Java. It enables compile-time checking. jOOQ build a preser internally that consists of Query, ResultQuery, Table, Field, Row, Condition and Name.

Read more →

ORM vs Typed-SQL

This article is a note recording different views on pros and cons of ORM, specifically the Java JPA and Hibernate. There are two common approaches to brige the business data model and the database: ORM mapps data model to database, or typed-SQL use strong types SQL-like syntax to access db data. ORM is data-model driven while the typedSQL is db-driven. ORM includes JPA and Hibernate. Typed-SQL includes jOOQ and QueryDSL.

Read more →