1

I am new to specifications and writing queries using criteria builder. I have a little success writing it for very small queries but not for a large query i needed.

class MessageEntity{

long id;
List<MessageDetailEntity> message_details;

}

class MessageDetailEntity{

long id;
Date created_ts;

}

select * from message msg
inner join message_detail msd on msg.id = msd.message_id
where msd.id =
    (select id from message_detail msd1 where msd1.message_id = msg.id order by msd1.created_ts desc limit 1);

Note : There can be many message details for a message

So far, I have made a very little progress

 Subquery<MessageDetailEntity> msd = query.subquery(MessageDetailEntity.class);
 Root<MessageEntity> sm = smd.from(SecureMessageDetailEntity.class);
 Join<MessageDetailEntity, MessageEntity> join = query.join("messageDetails");

Any help is much appreciated. Thank you in advance.

CodeHunter
  • 33
  • 1
  • 4

0 Answers0