Настройка Hibernate использовать SYS_GUID Oracle, ( ) для первичного ключа

я ищу способ получить hibernate использовать oracle SYS_GUID() функции при вставке строк. В настоящее время мой таблиц БД SYS_GUID() по умолчанию, так что если режимы hibernate просто сгенерированный SQL, который опускает значение, которое она должна работать.

у меня все работает, но в настоящее время приносит UUID/GUID в коде с помощью системы uuid-генератор:

@Id
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "uuid")
@Column(name = "PRODUCT_ID", unique = true, nullable = false)
public String getId() {
    return this.productId;
}

Это нормально, но я бы предпочел, что GUID созданные базы данных, так что они будут последовательными и потенциально имеют более высокую производительность. Плюс я просто хотел бы знать, как настроить эту.

я использую аннотации для конфигурации, но примеры конфигурации xml удивительным, как хорошо.

Вот пример определения таблицы (в случае, если это имеет значение):

CREATE TABLE SCHEMA_NAME.PRODUCT
(
    PRODUCT_ID RAW(16) DEFAULT SYS_GUID() NOT NULL,
    PRODUCT_CODE VARCHAR2(10 CHAR) NOT NULL,
    PRODUCT_NAME VARCHAR2(30 CHAR) NOT NULL,
    PRODUCT_DESC VARCHAR2(512 CHAR)
)

UPDATE:

мата решение с помощью "guid" работал, вот сгенерированный sql:

Hibernate: 
    select rawtohex(sys_guid()) 
    from dual
Hibernate: 
    insert into PRODUCT
    (PRODUCT_CODE, PRODUCT_DESC, LOB_ID, PRODUCT_NAME, PROVIDER_ID, PRODUCT_ID) 
    values (?, ?, ?, ?, ?, ?)


похоже, что с помощью столбцы по умолчанию в вставки не представляется возможным, поэтому выбор между созданный guid приложения и базы данных (round trip).

Найдено 2 ответа:

Configure Hibernate to use Oracle's SYS_GUID() for Primary Key

http://stackoverflow.com/questions/846786/configure-hibernate-to-use-oracles-sys-guid-for-primary-key

Посмотреть решение →