Как настроить имя схемы по умолчанию в конфигурации JPA?
Я обнаружил, что в файле конфигурации hibernate можно настроить параметр hibernate.default_schema
:
... myschema ...
Теперь я использую JPA, и я хочу сделать то же самое. В противном случае мне нужно добавить schema
параметров к каждой annotations @Table, например:
@Entity @Table (name = "projectcategory", schema = "SCHEMANAME") public class Category implements Serializable { ... }
Насколько я понимаю, этот параметр должен быть где-то в этой части конфигурации:
- 404 перенаправляет ошибку Spring с помощью java config
- Что такое исключение NoSuchBeanDefinitionException и как его исправить?
- Spring 3.0 MVC binding Enums Case Sensitive
- Как Autowire Bean из родового типа весной?
- Как добавить зависимости в объект, созданный самостоятельно, весной?
… но я не могу найти его имя в google. Есть идеи?
- что это значит, когда говорят, что http не имеет
- Шаблон Spring JDBC для вызова хранимых процедур
- Как работает FetchMode в Spring Data JPA
- log4j: WARN Для журнала в web.xml не найдено никаких добавлений.
- Пользовательский HttpMessageConverter с @ResponseBody, чтобы делать вещи Json
- Быстрое добавление компонента в контекст веб-приложения Spring Web
- Как реализовать разбиение на страницы весной MVC 3
- Spring-Data FETCH JOIN with Paging не работает
Не знаю о собственности JPA для этого. Но вы можете просто добавить свойство Hibernate (если вы используете Hibernate как провайдера), так как
... ...
Hibernate должен забрать это
Просто чтобы сэкономить время для людей, которые приходят на почту (например, я, ищущий тип конфигурации Spring и хочу, чтобы имя схемы было задано внешним источником (файлом свойств)). Конфигурация будет работать для вас
none ${yourSchema}
Ps: Для hibernate.hdm2ddl.auto вы можете посмотреть в столбце Hibernate hbm2ddl.auto возможные значения и что они делают? Я использовал для установки create-update, потому что это удобно. Однако, в производстве, я думаю, что лучше взять контроль над ddl, поэтому я беру все, что ddl сгенерирует в первый раз, сохраните его, а не позволяйте автоматически создавать и обновлять.
Чтобы избежать схемы жесткого кодирования в Java Java-classах JPA, мы использовали файл сопоставления orm.xml в приложении Java EE, развернутом в OracleApplicationServer10 (OC4J, Orion). Он лежит в model.jar / META-INF /, а также persistence.xml. Файл сопоставления orm.xml ссылается на файл peresistence.xml с тегом
... META-INF/orm.xml ...
Файл orm.xml приведен ниже:
?
myschema
myschema
Для других, которые используют весеннюю загрузку, конфигурацию на основе Java,
Я установил значение схемы в application.properties
spring.jpa.properties.hibernate.dialect=... spring.jpa.properties.hibernate.default_schema=...