There are four kinds of literals: string, numeric, Boolean, and enum.
String literals: A string literal is enclosed in single quotes:
'Duke'
If a string literal contains a single quote, you indicate the quote by using two single quotes:
'Duke''s'
Like a Java String, a string literal in the query language uses the Unicode character encoding.
Numeric literals: There are two types of numeric literals: exact and approximate.
An exact numeric literal is a numeric value without a decimal point, such as 65, –233, and +12. Using the Java integer syntax, exact numeric literals support numbers in the range of a Java long.
An approximate numeric literal is a numeric value in scientific notation, such as 57., –85.7, and +2.1. Using the syntax of the Java floating-point literal, approximate numeric literals support numbers in the range of a Java double.
Boolean literals: A Boolean literal is either TRUE or FALSE. These keywords are not case-sensitive.
Enum literals: The Java Persistence query language supports the use of enum literals using the Java enum literal syntax. The enum class name must be specified as a fully qualified class name:
SELECT e FROM Employee e WHERE e.status = com.xyz.EmployeeStatus.FULL_TIME