Sequelize with NodeJS no puede unir tablas con límite

Estoy tratando de implementar una consulta simple que debería verse así:

select * from property join entity_area on property.id=entity_area.entity_id and entity_area.area_id=1 where property.price>300000 limit 12

Bastante sencillo: quiero obtener el resultado combinado y luego limitarlo a 12.

En Sequelize estoy usando la siguiente función:

return models.property.findAll(
{
    where: ["price>=?", 300000],
    include: [
    {
        model:models.entity_area,
        where: { area_id:1 }
    }
    ],
    limit:12
})

Pero este código genera el siguiente sql:

select property.*, entity_area.* from (select * from property where property.price>300000 limit 12) join entity_area on property.id=entity_area.entity_id and entity_area.area_id=1

Lo que tiene una lógica totalmente diferente de lo que estoy tratando de hacer porque en el sql generado primero obtiene 12 resultados y luego intenta unirse con entity_area, y, por supuesto, los 12 resultados aleatorios no necesariamente coinciden con entity_area, así que yo ' No estoy obteniendo resultados.

Por favor sugiérame una forma adecuada de hacerlo. La tabla de propiedades es muy masiva, y tengo que usar el "límite" en lugar de obtener todos los resultados y cortarlos en JavaScript. Además, no me gustaría comenzar a usar consultas sin procesar.

Respuestas a la pregunta(3)

Su respuesta a la pregunta