scalikejdbc
Entity identifier provider for equality (especially for scalikejdbc.RelationalSQL operation).
Notice: Inheritance is not supported.
class Person(val id: Long) extends EntityEquality { override val entityIdentity = id } class Member(override val id: Long) extends Person(id)
val p1 = new Person(123) val p2 = new Person(123) val m1 = new Member(123) val m2 = new Member(123)
p1 == p2 && p2 == p1 // true p1 == m1 || m1 == p1 // false m1 == m2 && m2 == m1 // true
Identity for this entity.
Identity for this entity. If you use normal class for entity, use this identity for equality.
override java.lang.Object#equals
override java.lang.Object#hashCode
Entity identifier provider for equality (especially for scalikejdbc.RelationalSQL operation).
Notice: Inheritance is not supported.
class Person(val id: Long) extends EntityEquality { override val entityIdentity = id } class Member(override val id: Long) extends Person(id)
val p1 = new Person(123) val p2 = new Person(123) val m1 = new Member(123) val m2 = new Member(123)
p1 == p2 && p2 == p1 // true p1 == m1 || m1 == p1 // false m1 == m2 && m2 == m1 // true