Any ORM can handle joins. There are certain types of joins &#x2F; aggregations &#x2F; whatever that are harder for ORMs to support, and thinking that this is the fault of the ORM births monstrosities like Hibernate.<p>ActiveRecord for me hits a sweet spot in that it covers <i>most</i> of what you would need to do day-to-day in SQL and gives you easy ways to bypass it if you need to do something more complicated.<p>The biggest issue with ActiveRecord IMO is Rails devs who feel that falling down to raw SQL when it&#x27;s warranted is wrong, and end up building insanely unreadable garbage using ARel (which in and of itself isn&#x27;t a bad library, but should almost never be used in &quot;high-level&quot; code.)