Удалите следующую конфигурационную строку:
<property name="hibernate.globally_quoted_identifiers">true</property>
Это, вероятно, не требуется и почти наверняка вызывает проблему, которую вы испытываете.
UPDATE:
Проблема была окончательно решена путем изменения диалекта на MySQL5 из общего MySQL:
org.hibernate.dialect.MySQL5Dialect
я не мог найти способ просто пихнуть необработанный текст через без него оставляемый.
Просто помещает символ Unicode в это & nbsp; относится к (U+00A0 ПРОСТРАНСТВО без повреждений) непосредственно в текстовом узле, затем позвольте сериализатору волноваться о том, нужен ли этому выход к & #160; или нет. (Вероятно, нет: если Вы используете UTF-8 или ISO-8859-1, поскольку Ваша страница, кодирующая символ, может быть включена непосредственно, не имея необходимость волноваться о кодировании его в ссылку на сущность или символьную ссылку).
new XElement("h1", "Text\u00A0to\u00A0keep\u00A0together");
Вы могли также попытаться использовать пронумерованные объекты, им не нужно никакое объявление. Пронумерованный объект, эквивалентный именованной сущности & nbsp; & #160;
В отличие от усилителя (&), лейтенант (<) и т.д. nbsp не является известным объектом к XML, таким образом, необходимо объявить это. В XML, например, &xyz; рассматривается как объект, синтаксический анализатор сошлется на свое значение для создания вывода.
// the xml, plz remove '.' within xml
string xml = "<xml>test&.n.b.s.p;test</xml>";
// declare nbsp as xml entity and its value is " " in this case.
string declareEntity = "<!DOCTYPE xml [<!ENTITY nbsp \" \">]>";
XElement x = XElement.Parse( declareEntity + xml );
// output with a space between tests
// <xml>test test</xml>
или
// plz remove '.' in the string
XElement.Parse("<xml>" + HttpUtility.HtmlEncode("Text&.n.b.s.p;keep everything") + "</xml>");
Я придумал этот немного ненормальный подход, который подходит мне: Строковая замена весь & с ##AMP##, когда Вы храните данные.... И инвертируйте ту операцию на выводе. Я использую это в сочетании со столбцом XElement SQL и работаю обработка.
Отношения
Neil
Замена & на маркер, например ## AMP ##, решила мою проблему. Может быть, не самое красивое решение, но я получил демонстрацию для клиента через 10 минут, так что ... мне все равно :)
Спасибо за идею
Я знаю, что это старо, но я кое-что нашел и очень удивлен!
XElement element = new XElement("name",new XCData("<br /> & etc"));
Ну вот! CDATA текст!