SlideShare a Scribd company logo
Grails
Queries
http://techbus.safaribooksonline.com/book/programming/java/9781430243779/
chapter-9-gorm/s152_152_html?uicode=netflix
http://techbus.safaribooksonline.com/book/programming/java/9781430248064/
chapter-6-building-domains-and-services/navpoint-58?uicode=netflix
Configuration
http://techbus.safaribooksonline.com/book/programming/9781449324513/5dot-
hibernate/_sql_logging_html?uicode=netflix
//Config.groovy
log4j = {
debug "org.hibernate.SQL"
trace "org.hibernate.type.descriptor.sql.BasicBinder"
}
//DataSource.groovy
datasource = {
logSql = true
}
hibernate {
format_sql = true
use_sql_comments = true
}
Dynamic Finders
Methods
Single Multiple
findBy findAllBy
findWhere findAllWhere
get getAll
count -
- list & listOrderBy
findBy
Todo t = Todo.findByPriorityAndStatus("2", "ACTIVE")
List<Todo> lt = Todo.findAllByName("App")
List<Todo> lt = Todo.findAllByPriorityOrStatus("2", "ACTIVE")
List<Todo> lt = Todo.findAllByName("App", [max: 10, offset: 20,
sort: "priority", order: "desc"])
findBy Examples
// retrieve an album where the title contains 'Shake'
def album = Album.findByTitleLike('%Shake%')
// get an album created in last 10 days
def today = new Date()
def last10Days = Album.findByDateCreatedBetween(today-10,today)
// first album that is not 'Rock'
def somethingElse = Album.findByGenreNotEqual('Rock')
findWhere
Todo t = Todo.findWhere([ "priority": "1", status: "ACTIVE"])
List<Todo> t = Todo.findAllWhere([ "priority": "1", status:
"ACTIVE"])
get
Todo t = Todo.get() //gets one record. if multiple exists then
throws error.
Todo t = Todo.get(1)
List<Todo> lt = Todo.getAll(1,3,5)
List<Todo> lt = Todo.getAll([1,3,5])
count
Todo.count()
Todo.countByPriority('1')
list
List<Todo> t = Todo.list()
List<Todo> t = Todo.listOrderByName()
List<Todo> t = Todo.list([max: 10, offset: 20, sort: "priority",
order: "desc"])
List<Todo> t = Todo.list(max: 10, offset: 20, sort: "priority",
order: "desc")
max - Specifies the maximum number of rows to return
offset - Specifies the number of elements into the ResultSet to
start at when returning values (useful for pagination)
sort - Specifies the field to sort on in the returned list
order - Specifies the order of the sort: "asc" or "desc" (default
is "asc")
ignoreCase - Sets sorting to ignore case (true by default)
fetch - Specifies eager/lazy fetch strategy as a Map of options
Where queries
http://techbus.safaribooksonline.com/book/prog
ramming/java/9781617290961/chapter-5dot-
retrieving-the-data-you-
need/ch05lev1sec2_html?uicode=netflix
User.where { loginId =~ myLoginId }.list()
List<Contract> searchContracts(Map params) {
return Contract.where {
if(params.contractId) {
id == params.contractId
}
if(params.contractName) {
contractName =~ '%'+params.contractName+'%'
}
if(params.supplierName) {
supplier.supplierName =~
'%'+params.supplierName+'%'
}
}.list(max: 50, offset: page, sort: 'id', order: 'desc')
}
Operator Criteria Method Description
== eq Equal to
!= ne Not equal to
> gt Greater than
< lt Less than
>= ge Greater than or equal to
<= le Less than or equal to
in inList Contained within the given list
==~ like Like a given string
=~ ilike Case insensitive like
Detached Criteria
DetachedCriteria<Person> query = Person.where {
(lastName != "Simpson" && firstName
!= "Fred") ||
(firstName == "Bart" && age in 18..65)
}
List<Person> results = query.list(sort:"firstName")
DetachedCriteria<Person> noMiddleName = Person.where {
middleName == null
}
Aggregate functions
Method Description
avg The average of all values
sum The sum of all values
max The maximum value
min The minimum value
count The count of all values
property Retrieves a property of the resulting entities
functions
Method Description
second The second of a date property
minute The minute of a date property
hour The hour of a date property
day The day of the month of a date property
month The month of a date property
year The year of a date property
lower Converts a string property to upper case
upper Converts a string property to lower case
length The length of a string property
trim Trims a string property
Collections & Subqueries
final query = Person.where {
age > avg(age)
}
def query = Person.where {
age > avg(age).of { lastName == "Simpson" } && firstName ==
"Homer"
}
Person.where {
age < property(age).of { lastName == "Simpson" }
}
Bulk Update/Delete
def query = Person.where {
lastName == 'Simpson'
}
int total = query.updateAll(lastName:"Bloggs")
def query = Person.where {
lastName == 'Simpson'
}
int total = query.deleteAll()
Criteria Queries
Dynamic
void testFindingTodosWithCriteria() {
def params = [ name: '%Second%', status: '4' ]
def todos = executeCriteriaQuery( params )
assert todos[0].name == "Our Second Web App"
}
List executeCriteriaQuery(def params) {
def todos = Todo.createCriteria().list {
and {
params.each {key, value ->
like(key, value)
}
}
}
HQL Queries
find
Todo.find("From Todo as t
where t.name = :name
and t.priority = :priority
order by t.priority asc", [priority :"2", name : "Test"])
Todo.findAll("From Todo t where t.priority = :priority",
[priority:"1"],
[max: 10, offset: 20, sort: "priority", order "desc"])
find by example
Todo todo = new Todo()
todo.name = "Test"
todo = Todo.find(todo)
executeQuery
Todo.executeQuery("select t.name from Todo t where t.priority =
:priority ", [priority:"1"])
def users = User.executeQuery(
'from User u where u.username=:login or u.email=:login',
[login: ‘hd’])
Aggregate func
def newAuthors = Author.executeQuery(
"select a from Author a where a.books is empty")
def prolificAuthors = Author.executeQuery(
"select a from Author a where size(a.books) > 10")
def grailsAuthors = Author.executeQuery(
"select a from Author a join a.books as book " +
"where lower(book.title) like '%grails%'")
def author = Author.executeQuery(
"select a from Author a where :book in elements(a.books)",
[book: book])
Different return types
List<String> firstNames = Author.executeQuery('select a.firstName
from Author a')
List<Object[]> names = Author.executeQuery('select a.name, a.age
from Author a')
List<Map> names = Author.executeQuery(
'select new map(a.name as fullName, a.age as age) from Author
a where ...')
Return a POGO
List<Address> names = Author.executeQuery(
'select new Address(a.street, a.city, a.state, a.zip) from
Author a where ...')
class Author {
Author(String street, String city, String state, String zip) {
...
}
Author() {..}
}
filter map options
max - Limits the maximum number of records to return (typically
for pagination)
offset - Specifies the offset position into the results
(typically for pagination)
readOnly - If true, will return results that are not dirty-
checked
fetchSize - Specifies the fetch size for the underlying JDBC
query
timeout - Specifies the timeout for the underlying JDBC query
flushMode - Overrides the current session flush mode
cache - If true, will use the query cache
Performance
http://techbus.safaribooksonline.com/book/prog
ramming/java/9781430243779/chapter-9-
gorm/s174_174_html?uicode=netflix
Caching

More Related Content

What's hot

The Ring programming language version 1.5.4 book - Part 40 of 185
The Ring programming language version 1.5.4 book - Part 40 of 185The Ring programming language version 1.5.4 book - Part 40 of 185
The Ring programming language version 1.5.4 book - Part 40 of 185Mahmoud Samir Fayed
 
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-Tsuyoshi Yamamoto
 
"PostgreSQL and Python" Lightning Talk @EuroPython2014
"PostgreSQL and Python" Lightning Talk @EuroPython2014"PostgreSQL and Python" Lightning Talk @EuroPython2014
"PostgreSQL and Python" Lightning Talk @EuroPython2014Henning Jacobs
 
Git Tutorial Yang Yang
Git Tutorial Yang YangGit Tutorial Yang Yang
Git Tutorial Yang YangYang Yang
 
Python dictionary : past, present, future
Python dictionary: past, present, futurePython dictionary: past, present, future
Python dictionary : past, present, futuredelimitry
 
Psycopg2 - Connect to PostgreSQL using Python Script
Psycopg2 - Connect to PostgreSQL using Python ScriptPsycopg2 - Connect to PostgreSQL using Python Script
Psycopg2 - Connect to PostgreSQL using Python ScriptSurvey Department
 
Xlab #1: Advantages of functional programming in Java 8
Xlab #1: Advantages of functional programming in Java 8Xlab #1: Advantages of functional programming in Java 8
Xlab #1: Advantages of functional programming in Java 8XSolve
 
Groovy collection api
Groovy collection apiGroovy collection api
Groovy collection apitrygvea
 
Grails: a quick tutorial (1)
Grails: a quick tutorial (1)Grails: a quick tutorial (1)
Grails: a quick tutorial (1)Davide Rossi
 
第3回Grails/Groovy勉強会名古屋「Grails名古屋座談会」
第3回Grails/Groovy勉強会名古屋「Grails名古屋座談会」第3回Grails/Groovy勉強会名古屋「Grails名古屋座談会」
第3回Grails/Groovy勉強会名古屋「Grails名古屋座談会」Tsuyoshi Yamamoto
 
Template Haskell とか
Template Haskell とかTemplate Haskell とか
Template Haskell とかHiromi Ishii
 
第4回 g* ワークショップ はじめてみよう! Grailsプラグイン
第4回 g* ワークショップ はじめてみよう! Grailsプラグイン第4回 g* ワークショップ はじめてみよう! Grailsプラグイン
第4回 g* ワークショップ はじめてみよう! GrailsプラグインTsuyoshi Yamamoto
 
Mongoskin - Guilin
Mongoskin - GuilinMongoskin - Guilin
Mongoskin - GuilinJackson Tian
 
ORMLite Android
ORMLite AndroidORMLite Android
ORMLite Android哲偉 楊
 
Rのスコープとフレームと環境と
Rのスコープとフレームと環境とRのスコープとフレームと環境と
Rのスコープとフレームと環境とTakeshi Arabiki
 
2017 02-07 - elastic & spark. building a search geo locator
2017 02-07 - elastic & spark. building a search geo locator2017 02-07 - elastic & spark. building a search geo locator
2017 02-07 - elastic & spark. building a search geo locatorAlberto Paro
 

What's hot (19)

The Ring programming language version 1.5.4 book - Part 40 of 185
The Ring programming language version 1.5.4 book - Part 40 of 185The Ring programming language version 1.5.4 book - Part 40 of 185
The Ring programming language version 1.5.4 book - Part 40 of 185
 
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-
 
"PostgreSQL and Python" Lightning Talk @EuroPython2014
"PostgreSQL and Python" Lightning Talk @EuroPython2014"PostgreSQL and Python" Lightning Talk @EuroPython2014
"PostgreSQL and Python" Lightning Talk @EuroPython2014
 
Git Tutorial Yang Yang
Git Tutorial Yang YangGit Tutorial Yang Yang
Git Tutorial Yang Yang
 
Python dictionary : past, present, future
Python dictionary: past, present, futurePython dictionary: past, present, future
Python dictionary : past, present, future
 
Psycopg2 - Connect to PostgreSQL using Python Script
Psycopg2 - Connect to PostgreSQL using Python ScriptPsycopg2 - Connect to PostgreSQL using Python Script
Psycopg2 - Connect to PostgreSQL using Python Script
 
GORM
GORMGORM
GORM
 
Haskell
HaskellHaskell
Haskell
 
Xlab #1: Advantages of functional programming in Java 8
Xlab #1: Advantages of functional programming in Java 8Xlab #1: Advantages of functional programming in Java 8
Xlab #1: Advantages of functional programming in Java 8
 
Groovy collection api
Groovy collection apiGroovy collection api
Groovy collection api
 
Grails: a quick tutorial (1)
Grails: a quick tutorial (1)Grails: a quick tutorial (1)
Grails: a quick tutorial (1)
 
第3回Grails/Groovy勉強会名古屋「Grails名古屋座談会」
第3回Grails/Groovy勉強会名古屋「Grails名古屋座談会」第3回Grails/Groovy勉強会名古屋「Grails名古屋座談会」
第3回Grails/Groovy勉強会名古屋「Grails名古屋座談会」
 
Template Haskell とか
Template Haskell とかTemplate Haskell とか
Template Haskell とか
 
Gorm
GormGorm
Gorm
 
第4回 g* ワークショップ はじめてみよう! Grailsプラグイン
第4回 g* ワークショップ はじめてみよう! Grailsプラグイン第4回 g* ワークショップ はじめてみよう! Grailsプラグイン
第4回 g* ワークショップ はじめてみよう! Grailsプラグイン
 
Mongoskin - Guilin
Mongoskin - GuilinMongoskin - Guilin
Mongoskin - Guilin
 
ORMLite Android
ORMLite AndroidORMLite Android
ORMLite Android
 
Rのスコープとフレームと環境と
Rのスコープとフレームと環境とRのスコープとフレームと環境と
Rのスコープとフレームと環境と
 
2017 02-07 - elastic & spark. building a search geo locator
2017 02-07 - elastic & spark. building a search geo locator2017 02-07 - elastic & spark. building a search geo locator
2017 02-07 - elastic & spark. building a search geo locator
 

Viewers also liked

Information über die Mariazellerbahn
Information über die MariazellerbahnInformation über die Mariazellerbahn
Information über die MariazellerbahnJohann Weiss
 
Necesito poco y lo poco que necesito
Necesito poco y lo poco que necesitoNecesito poco y lo poco que necesito
Necesito poco y lo poco que necesitoAtramgo
 
Présentation "Dictionnaire humoristique de la condition humaine Selon la psyc...
Présentation "Dictionnaire humoristique de la condition humaine Selon la psyc...Présentation "Dictionnaire humoristique de la condition humaine Selon la psyc...
Présentation "Dictionnaire humoristique de la condition humaine Selon la psyc...Editions du Pantheon
 
Iniciación en oriente ( prosa poética) (1)
Iniciación en oriente ( prosa poética) (1)Iniciación en oriente ( prosa poética) (1)
Iniciación en oriente ( prosa poética) (1)tomasvila
 
Reporte Visita Cerrejón. Por Kumar Cabrera
Reporte Visita Cerrejón. Por Kumar CabreraReporte Visita Cerrejón. Por Kumar Cabrera
Reporte Visita Cerrejón. Por Kumar Cabrerakumarcabrera
 
fascinante
fascinantefascinante
fascinanteboda
 
Open GIS Talk
Open GIS TalkOpen GIS Talk
Open GIS Talkzbeauvais
 
Folleto Curso Sap (Parte Ii)[1]
Folleto Curso Sap (Parte Ii)[1]Folleto Curso Sap (Parte Ii)[1]
Folleto Curso Sap (Parte Ii)[1]INGENIEROSAGS
 
Morphun.Katalog.2016
Morphun.Katalog.2016Morphun.Katalog.2016
Morphun.Katalog.2016klocki_edu_pl
 
332 equipo 2 epopeya (1)
332 equipo 2 epopeya (1)332 equipo 2 epopeya (1)
332 equipo 2 epopeya (1)jennihdez
 
Cronograma editorial de contenido
Cronograma editorial de contenido Cronograma editorial de contenido
Cronograma editorial de contenido Karen Atacho
 
Pequeñas centrales hidraulicas
Pequeñas centrales hidraulicasPequeñas centrales hidraulicas
Pequeñas centrales hidraulicas000396
 
Uniquely Culture of Tegal
Uniquely Culture of TegalUniquely Culture of Tegal
Uniquely Culture of TegalMujiyanti Muzzy
 
How to run successful contests on Facebook and the Web
How to run successful contests on Facebook and the WebHow to run successful contests on Facebook and the Web
How to run successful contests on Facebook and the WebFastory
 
20110705 estrategia y proyectos charla libre 2
20110705 estrategia y proyectos charla libre 220110705 estrategia y proyectos charla libre 2
20110705 estrategia y proyectos charla libre 2rafoma
 

Viewers also liked (20)

Information über die Mariazellerbahn
Information über die MariazellerbahnInformation über die Mariazellerbahn
Information über die Mariazellerbahn
 
Necesito poco y lo poco que necesito
Necesito poco y lo poco que necesitoNecesito poco y lo poco que necesito
Necesito poco y lo poco que necesito
 
Impactos de la iniciativa Yuzz del mes de Julio y Agosto
Impactos de la iniciativa Yuzz del mes de Julio y AgostoImpactos de la iniciativa Yuzz del mes de Julio y Agosto
Impactos de la iniciativa Yuzz del mes de Julio y Agosto
 
Présentation "Dictionnaire humoristique de la condition humaine Selon la psyc...
Présentation "Dictionnaire humoristique de la condition humaine Selon la psyc...Présentation "Dictionnaire humoristique de la condition humaine Selon la psyc...
Présentation "Dictionnaire humoristique de la condition humaine Selon la psyc...
 
Presentacion Carrefour Property
Presentacion Carrefour PropertyPresentacion Carrefour Property
Presentacion Carrefour Property
 
Iniciación en oriente ( prosa poética) (1)
Iniciación en oriente ( prosa poética) (1)Iniciación en oriente ( prosa poética) (1)
Iniciación en oriente ( prosa poética) (1)
 
Harry Potter[1]
Harry Potter[1]Harry Potter[1]
Harry Potter[1]
 
Reporte Visita Cerrejón. Por Kumar Cabrera
Reporte Visita Cerrejón. Por Kumar CabreraReporte Visita Cerrejón. Por Kumar Cabrera
Reporte Visita Cerrejón. Por Kumar Cabrera
 
fascinante
fascinantefascinante
fascinante
 
Open GIS Talk
Open GIS TalkOpen GIS Talk
Open GIS Talk
 
Folleto Curso Sap (Parte Ii)[1]
Folleto Curso Sap (Parte Ii)[1]Folleto Curso Sap (Parte Ii)[1]
Folleto Curso Sap (Parte Ii)[1]
 
Morphun.Katalog.2016
Morphun.Katalog.2016Morphun.Katalog.2016
Morphun.Katalog.2016
 
332 equipo 2 epopeya (1)
332 equipo 2 epopeya (1)332 equipo 2 epopeya (1)
332 equipo 2 epopeya (1)
 
Maitena superadas
Maitena superadasMaitena superadas
Maitena superadas
 
Cronograma editorial de contenido
Cronograma editorial de contenido Cronograma editorial de contenido
Cronograma editorial de contenido
 
Mas Bullying...2013.
Mas Bullying...2013.Mas Bullying...2013.
Mas Bullying...2013.
 
Pequeñas centrales hidraulicas
Pequeñas centrales hidraulicasPequeñas centrales hidraulicas
Pequeñas centrales hidraulicas
 
Uniquely Culture of Tegal
Uniquely Culture of TegalUniquely Culture of Tegal
Uniquely Culture of Tegal
 
How to run successful contests on Facebook and the Web
How to run successful contests on Facebook and the WebHow to run successful contests on Facebook and the Web
How to run successful contests on Facebook and the Web
 
20110705 estrategia y proyectos charla libre 2
20110705 estrategia y proyectos charla libre 220110705 estrategia y proyectos charla libre 2
20110705 estrategia y proyectos charla libre 2
 

Similar to Grails queries

How to Bring Common UI Patterns to ADF
How to Bring Common UI Patterns to ADF How to Bring Common UI Patterns to ADF
How to Bring Common UI Patterns to ADF Luc Bors
 
Introduction to jQuery - The basics
Introduction to jQuery - The basicsIntroduction to jQuery - The basics
Introduction to jQuery - The basicsMaher Hossain
 
Fazendo mágica com ElasticSearch
Fazendo mágica com ElasticSearchFazendo mágica com ElasticSearch
Fazendo mágica com ElasticSearchPedro Franceschi
 
Talk about Testing at vienna.rb meetup #2 on Apr 12th, 2013
Talk about Testing at vienna.rb meetup #2 on Apr 12th, 2013Talk about Testing at vienna.rb meetup #2 on Apr 12th, 2013
Talk about Testing at vienna.rb meetup #2 on Apr 12th, 2013Anton Bangratz
 
Doctype htm1
Doctype htm1Doctype htm1
Doctype htm1Eddy_TKJ
 
Extreme Swift
Extreme SwiftExtreme Swift
Extreme SwiftMovel
 
RedisConf18 - Redis and Elasticsearch
RedisConf18 - Redis and ElasticsearchRedisConf18 - Redis and Elasticsearch
RedisConf18 - Redis and ElasticsearchRedis Labs
 
The Ring programming language version 1.8 book - Part 50 of 202
The Ring programming language version 1.8 book - Part 50 of 202The Ring programming language version 1.8 book - Part 50 of 202
The Ring programming language version 1.8 book - Part 50 of 202Mahmoud Samir Fayed
 
Refactoring to Macros with Clojure
Refactoring to Macros with ClojureRefactoring to Macros with Clojure
Refactoring to Macros with ClojureDmitry Buzdin
 
Apache Spark in your likeness - low and high level customization
Apache Spark in your likeness - low and high level customizationApache Spark in your likeness - low and high level customization
Apache Spark in your likeness - low and high level customizationBartosz Konieczny
 
Micro-ORM Introduction - Don't overcomplicate
Micro-ORM Introduction - Don't overcomplicateMicro-ORM Introduction - Don't overcomplicate
Micro-ORM Introduction - Don't overcomplicateKiev ALT.NET
 
WordCamp Portland 2018: PHP for WordPress
WordCamp Portland 2018: PHP for WordPressWordCamp Portland 2018: PHP for WordPress
WordCamp Portland 2018: PHP for WordPressAlena Holligan
 
Javascript built in String Functions
Javascript built in String FunctionsJavascript built in String Functions
Javascript built in String FunctionsAvanitrambadiya
 
mobl presentation @ IHomer
mobl presentation @ IHomermobl presentation @ IHomer
mobl presentation @ IHomerzefhemel
 

Similar to Grails queries (20)

Elm: give it a try
Elm: give it a tryElm: give it a try
Elm: give it a try
 
How te bring common UI patterns to ADF
How te bring common UI patterns to ADFHow te bring common UI patterns to ADF
How te bring common UI patterns to ADF
 
How to Bring Common UI Patterns to ADF
How to Bring Common UI Patterns to ADF How to Bring Common UI Patterns to ADF
How to Bring Common UI Patterns to ADF
 
Introduction to jQuery - The basics
Introduction to jQuery - The basicsIntroduction to jQuery - The basics
Introduction to jQuery - The basics
 
Fazendo mágica com ElasticSearch
Fazendo mágica com ElasticSearchFazendo mágica com ElasticSearch
Fazendo mágica com ElasticSearch
 
Talk about Testing at vienna.rb meetup #2 on Apr 12th, 2013
Talk about Testing at vienna.rb meetup #2 on Apr 12th, 2013Talk about Testing at vienna.rb meetup #2 on Apr 12th, 2013
Talk about Testing at vienna.rb meetup #2 on Apr 12th, 2013
 
Doctype htm1
Doctype htm1Doctype htm1
Doctype htm1
 
Solr @ Etsy - Apache Lucene Eurocon
Solr @ Etsy - Apache Lucene EuroconSolr @ Etsy - Apache Lucene Eurocon
Solr @ Etsy - Apache Lucene Eurocon
 
greenDAO
greenDAOgreenDAO
greenDAO
 
Extreme Swift
Extreme SwiftExtreme Swift
Extreme Swift
 
RedisConf18 - Redis and Elasticsearch
RedisConf18 - Redis and ElasticsearchRedisConf18 - Redis and Elasticsearch
RedisConf18 - Redis and Elasticsearch
 
The Ring programming language version 1.8 book - Part 50 of 202
The Ring programming language version 1.8 book - Part 50 of 202The Ring programming language version 1.8 book - Part 50 of 202
The Ring programming language version 1.8 book - Part 50 of 202
 
Refactoring to Macros with Clojure
Refactoring to Macros with ClojureRefactoring to Macros with Clojure
Refactoring to Macros with Clojure
 
Apache Spark in your likeness - low and high level customization
Apache Spark in your likeness - low and high level customizationApache Spark in your likeness - low and high level customization
Apache Spark in your likeness - low and high level customization
 
Crawler 2
Crawler 2Crawler 2
Crawler 2
 
Micro-ORM Introduction - Don't overcomplicate
Micro-ORM Introduction - Don't overcomplicateMicro-ORM Introduction - Don't overcomplicate
Micro-ORM Introduction - Don't overcomplicate
 
mobl
moblmobl
mobl
 
WordCamp Portland 2018: PHP for WordPress
WordCamp Portland 2018: PHP for WordPressWordCamp Portland 2018: PHP for WordPress
WordCamp Portland 2018: PHP for WordPress
 
Javascript built in String Functions
Javascript built in String FunctionsJavascript built in String Functions
Javascript built in String Functions
 
mobl presentation @ IHomer
mobl presentation @ IHomermobl presentation @ IHomer
mobl presentation @ IHomer
 

Recently uploaded

Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Globus
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyanic lab
 
Strategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxStrategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxvarshanayak241
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfkalichargn70th171
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Globus
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Shahin Sheidaei
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamtakuyayamamoto1800
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptxGeorgi Kodinov
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?XfilesPro
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsGlobus
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Anthony Dahanne
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...informapgpstrackings
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILNatan Silnitsky
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Hivelance Technology
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobus
 

Recently uploaded (20)

Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
Strategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxStrategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptx
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 

Grails queries