Arnaud Geiser

Entities, identities, values and your ORM

13 Feb 2021

No, it’s not about DDD and it’s not about any specific ORM framework.
It’s all about the meaning of those terms and how they badly map with the technology the mainstream industry is using today.

Let’s start with the terminology:

Entity

Identity

Value

@Entity
public class Person {
    @Id
    private Integer id;
    private String name;
    private Address address;
}
// Value
record Person(String name) {}

// Entity
entity Person(String name) identified by (Integer id) {}
(reduce + (range 10))

[1] : https://enterprisecraftsmanship.com/posts/entity-vs-value-object-the-ultimate-list-of-differences/