Hibernate не сохраняется при вставке длинных текстов - PullRequest
0 голосов
/ 12 октября 2018

Я использую Postgresql 9.6, и до того, как я использовал mySQL, у меня возникла та же проблема с двумя базами данных.У меня также есть та же проблема с Hibernate 4 и 5.

Когда я пытаюсь сохранить объект с длинной строкой внутри, он никогда не завершает метод session.persist (object).С другой стороны, он отлично работает, когда строка ismySQL и я получаю ту же проблему с двумя базами данных.не долго*

Ответы [ 3 ]

0 голосов
/ 12 октября 2018

Есть два способа,

  1. Вы можете установить columnDefinition как

    @Column(name = "notes", columnDefinition = "varchar(300)")
    private String notes;
    
  2. Если вы не знаете максимальную длину строкиВы можете установить columnDefinition как текст, например

    @Column(name = "notes", columnDefinition = "text")
    private String notes;
    
0 голосов
/ 13 октября 2018

Я понял, что происходит.Метод persist никогда не заканчивался, потому что информация не могла быть полностью передана в БД, которая была в другом устройстве, Raspberry Pi.

Я изменил MTU сетевых адаптеров моего ПК и Raspberry Pi на 1492 скоманда:

sudo ifconfig eth0 mtu 1492

Дополнительная информация: http://www.ubuntugeek.com/how-to-change-mtu-maximum-transmission-unit-of-network-interface-in-ubuntu-linux.html

0 голосов
/ 12 октября 2018

Hibernate не сохраняется при вставке длинных текстов

По вашему вопросу, он не сохраняется при вставке длинных текстов.Это потому, что по умолчанию длина строки составляет 255. Вы можете увидеть в базе данных.Длина VARCHAR (255) равна 255. Вы можете упомянуть длину, используя следующий подход:

@Column(name=" description", length = 300)
private String description;

Если вы не уверены в длине, то будет хорошей идеей использовать лепестки, капли или сгустки в соответствии с вашиминеобходимость.Вы можете прочитать детали lob, blob и clob и выбрать один из них.Для текста будет работать lob или clob.

...