How to specify JPA 2.1 in persistence.xml?

java, jpa, jpa-2.1, persistence.xml

Solution

According to the official documentation it must be (like yours):

<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
             http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"
             version="2.1">
    ...
</persistence>

Problem

A quick search on the Net reveals three or four variants how folks have been specifying `xmlns` and `xsi:schemaLocation` in `persistence.xml`. What would be the 'correct' manner to specify JPA version 2.1? I'm using ``` <persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"> ```

Original source