Настройки игровой площадки должны быть объектными, но вы указываете строку. Вы можете исправить это с помощью require
.
const server = new ApolloServer({
typeDefs,
resolvers,
playground: {
endpoint: `/blog/`,
settings: require('./playground.json')
}
});
Сервер предоставляет только настройки по умолчанию. Браузер имеет локальные настройки и позволяет создавать музыку.
Вы могли бы использовать генератор "guid". См. этот пост на форуме Hibernate. Похоже, недавно они добавили поддержку Oracle с помощью SYS_GUID ()
, но в документации все еще говорится, что они поддерживают только SQL Server и MySQL.
Я не работал с Аннотаций JPA пока нет, но вот пример использования конфигурации XML:
<id name="PRODUCT_ID">
<generator class="guid" />
</id>
РЕДАКТИРОВАТЬ: Что касается вашего второго вопроса, я думаю, вы спрашиваете, почему Hibernate не может делать что-то вроде этого:
INSERT INTO PRODUCT (PRODUCT_ID, /* etc */)
SELECT SYSGUID(), /* etc */
Причина в том, что Hibernate должен знать идентификатор объекта. Например, рассмотрим следующий сценарий:
Без знания идентификатора Hibernate не может этого сделать. Идентификатор необходим для выполнения оператора UPDATE. Таким образом, реализация org.hibernate.id.GUIDGenerator
должна заранее сгенерировать идентификатор, а затем повторно использовать его в операторе INSERT.
Это та же самая причина, по которой Hibernate не может выполнять любая пакетная обработка , если вы используете идентификатор, сгенерированный базой данных (включая автоинкремент для баз данных, которые его поддерживают). Использование одного из генераторов hilo или какого-либо другого механизма идентификации, сгенерированного Hibernate, - единственный способ получить хорошую производительность при одновременной вставке большого количества объектов.
hibernate.id.GUIDGenerator должен заранее сгенерировать идентификатор, а затем повторно использовать его в операторе INSERT.Это та же самая причина, по которой Hibernate не может выполнять пакетную обработку , если вы использовать идентификатор, созданный базой данных (включая автоинкремент для баз данных, которые его поддерживают). Использование одного из генераторов hilo или какого-либо другого механизма идентификации, сгенерированного Hibernate, - единственный способ получить хорошую производительность при одновременной вставке большого количества объектов.
hibernate.id.GUIDGenerator должен заранее сгенерировать идентификатор, а затем повторно использовать его в операторе INSERT.Это та же самая причина, по которой Hibernate не может выполнять пакетную обработку , если вы использовать идентификатор, созданный базой данных (включая автоинкремент для баз данных, которые его поддерживают). Использование одного из генераторов hilo или какого-либо другого механизма идентификации, сгенерированного Hibernate, - единственный способ получить хорошую производительность при одновременной вставке большого количества объектов.
Думаю, это можно сделать, установив родной генератор. Я не совсем уверен, как это сделать в Hibernate, но в NHibernate вы бы сделали что-то вроде этого в XML:
<id column="PRODUCT_ID">
<generator class="native"/>
</id>