Установить имя схемы по умолчанию в конфигурации JPA Использование Spring Boot для Eclipselink? - PullRequest
0 голосов
/ 15 марта 2019

Я пытаюсь настроить свойство схемы по умолчанию в конфигурации JPA, используя Eclipslink с Spring boot 2.x

Старый код (работает нормально):

<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm orm_2_0.xsd"
version="2.0">
<persistence-unit-metadata>
    <persistence-unit-defaults>
        <schema>SECURITY</schema>
    </persistence-unit-defaults>
</persistence-unit-metadata>

Но как мне настроить его с помощью способа загрузки Spring.

Один из способов заставить его работать с добавлением тега схемы в Model

@Entity
@Table(name = "USER",schema="SECURITY")
public class User implements Persistable<String> {
...
@Id
public String getId() {
    return id;
}

Но это не то решение, которое мне нужно, потому чтоэто не будет работать, если одна и та же модель сущностей используется в разных приложениях с другой схемой.

Я обнаружил одно свойство, характерное для hibernate

spring.jpa.properties.hibernate.default_schema

Но есть ли подобное свойство для Eclipselinkпри весенней загрузке? Я недавно перенес приложение Spring mvc в Spring boot и столкнулся с этой проблемой.

...