self-joins are discussed here:
self-referential association is discussed here:
The main difference I see is that self-referential association creates a join model, such as friendship, which links another model, such as user, to itself, so a user can have many friends (which are other users), and a friend can be befriended by a user. The self-joins looks like there is no join model. Simply a foreign key is added to the same model, such as a manager_id column to the employee model. An employee, who is a manager, can have many other employees, who are subordinates. And the link is done on the same table itself, association the employee manager_id column with the the employee id column. To me, these two techniques look virtually the same. Is there a difference and which is preferred?