У меня проблема с hibernate и spring-data-jpa. Я работаю с java7 и пока не могу обновиться, я работаю с postgresql и jboss. У меня есть java класс с ссылкой subElement с @manyToOne и с этой конфигурацией Id:
@Id
@GeneratedValue(generator = "uuid2")
@GenericGenerator(name = "uuid2", strategy = "uuid2")
@Column(name = "id", columnDefinition = "uuid")
@Type(type = "car-uuid")
private UUID id;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "id_tab_C")
private TabC C;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "id_tab_B")
private TabB B;
Что я хочу, когда я использую Save (итерируемый) из SimpleJpaRepository (интерфейс CrudRepo), я хочу, чтобы мой bdd logs:
вставка в таблицу значений ($ 1), ($ 2) et c ...
У меня есть все свойства гибернации:
properties.put(ConfigConstant.HIBERNATE_JDBC_BATCH_SIZE, Dialect.DEFAULT_BATCH_SIZE);
properties.put(BATCH_VERSIONED_DATA, true);
properties.put("hibernate.order_inserts", "true");
properties.put("hibernate.order_updates", "true");
У меня также есть rewritebatchInsert = true в моем URL-адресе соединения с jboss, и он работает с jdbcTemplate (у меня есть пример кода в моем коде java, который его использует). Я не могу изменить все на jdbctemplate.
Я также пытался:
@Id
@GeneratedValue(strategy = GenerationType.AUTO, generator = "uuid2")
@GenericGenerator(name = "uuid2", strategy = "uuid2")
@Column(name = "id", columnDefinition = "uuid")
@Type(type = "car-uuid")
private UUID id;
РЕДАКТИРОВАТЬ 15/04/2020 я попытался удалить пользовательский тип def для моего UUID и использовать pg-uuid но это не сработало:
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "uuid2")
@GenericGenerator(name = "uuid2", strategy = "uuid2")
@Column(name = "id", columnDefinition = "uuid")
@Type(type = "pg-uuid")
private UUID id;
Операторы вставки журнала Hibernate 3, и мои журналы postgresql тоже. Я не могу найти, где моя ошибка ..
РЕДАКТИРОВАТЬ 2: Я наконец-то решил часть моей проблемы. Моя собственность hibernate.jdb c .batch_size была: hibernate.jdb c .batch.size Так что лучше, но: у меня есть список из 3 сущностей. Я использую springrepo SAVE (Iterable), и я получаю в своем pg_log:
Insert into tabA values (),() // 2 entity
Insert into tabA values () // 1 entity
Мой набор свойств:
properties.put("hibernate.jdbc.batch_size", "30");
Почему у меня не может быть:
Insert into tabA values (),(),() // 3 entity ?
спасибо за помощь, Счастливого кодирования;)