Неправильно заказывая в сгенерированной таблице в jpa

Как Eric Wendelin упомянул, можно сделать что-то вроде этого:

str1 = "pattern"
var re = new RegExp(str1, "g");
"pattern matching .".replace(re, "regex");

Это уступает "regex matching .". Однако это перестанет работать, если str1 будет ".". Вы ожидали бы, что результат будет "pattern matching regex", заменяя период "regex", но это окажется...

regexregexregexregexregexregexregexregexregexregexregexregexregexregexregexregexregexregex

Это вызвано тем, что, хотя "." Строка, в конструкторе RegExp, она все еще интерпретируется как регулярное выражение, означая любой символ неразрыва строки, означая каждый символ в строке. С этой целью следующая функция может быть полезной:

 RegExp.quote = function(str) {
     return str.replace(/([.?*+^$[\]\\(){}|-])/g, "\\$1");
 };

Затем можно сделать:

str1 = "."
var re = new RegExp(RegExp.quote(str1), "g");
"pattern matching .".replace(re, "regex");

получение "pattern matching regex".

53
задан ire_and_curses 18 August 2009 в 20:44
поделиться

2 ответа

Hibernate генерирует столбцы в алфавитном порядке. Согласно этот пост причина дается как:

Он отсортирован для обеспечения детерминированности заказ через кластеры.

Мы не можем рассчитывать на то, что виртуальная машина вернет методы в том же порядке каждый раз поэтому мы должны были что-то сделать.

Очевидно, что раньше это было в порядке появления, но это изменилось между 3.2.0 GA и 3.2.1 GA.

Я также обнаружил Автоматическое создание схемы создает столбцы в алфавитном порядке порядок составных первичных ключей , и это похоже на вашу проблему. Этот билет касается изменения порядка в первичных ключах, что негативно влияет на производительность индекса.

Для этого нет никакого решения, кроме обходного пути именования столбцов таким образом, чтобы они выходили в правильном порядке (нет, я я не шучу).

81
ответ дан 7 November 2019 в 08:45
поделиться

DataNucleus разрешает расширение, определяющее позицию для генерации схемы, FWIW.

4
ответ дан 7 November 2019 в 08:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: