CriteriaBuilder cb = _entityManager.getCriteriaBuilder(); CriteriaQuery<Message> criteriaQuery = cb.createQuery(Message.class); Root<Message> messageRoot = criteriaQuery.from(Message.class); Root<Device> deviceRoot = criteriaQuery.from(Device.class); Fetch<Message, Device> recipientDeviceFetch = messageRoot.fetch("recipientDevice", JoinType.LEFT); Join<Message, Device> messageRecipientDeviceJoin = (Join<Message, Device>) recipientDeviceFetch; criteriaQuery.where(cb.and(messageRoot.get(Message.COLUMN_ID).in(messageIdsToDelete), cb.equal(deviceRoot.get(Device.COLUMN_PRIMARY_KEY), devicePrimaryKey))); criteriaQuery.select(cb.construct(Message.class, messageRoot.get("recipientDevice"), messageRoot.get(Message.COLUMN_CLIENT_MESSAGE_ID))); List<Message> messages = _entityManager.createQuery(criteriaQuery).getResultList(); return messages;
https://www.html5rocks.com/en/tutorials/internals/howbrowserswork/ http://taligarsiel.com/ClientSidePerformance.html -- Client side performance tips https://ariya.io/ https://vertx.io/docs/ -- New exciting Framework, Must read. https://javaee.github.io/ -- Very good resource to see various javaee projects and explore enterprise architecture and design concepts. https://projects.eclipse.org/projects/ee4j -- Lots of interesting open source projects by eclipse http://openjdk.java.net/projects/mlvm/ -- the main project for supporting more dynamic languages to jvm. http://esprima.org/ -- EcmaScript parser http://c2.com/ppr/ and http://hillside.net/ -- Good place to learn patterns http://cr.openjdk.java.net/~briangoetz/lambda/Defender%20Methods%20v4.pdf https://validator.w3.org/nu/ -- This will validate your website css and js https://www.cellstream.com/intranet/reference-reading/faq/216-what-is-2-128.html http://shattered.io/ -- An example of SHA1 collision attack.
Comments
Post a Comment