2013-12-20 3 views
0

Я хочу создать класс из файла отображения спящего режима по hbm2java, но я получаю следующее сообщение об ошибке:SAXParseException в отображении Hibernate

SAXParseException; lineNumber: 11; columnNumber: 15; Содержимое типа элемента «класс» должно соответствовать «(meta *, subselect?, Cache?, Synchronize *, comment?, Tuplizer *, (id | composite-id), дискриминатор?, Natural-id?, (Version | timestamp)? (свойство | много-к-одному | один к одному | компонент | динамический компонент | свойства | любой | карта | набор | список | мешок | idbag | массив | примитивный-массив) , ((присоединяться подкласс *) | присоединились к подклассу * |? профсоюз подкласс *), погрузчик, SQL-вставка, SQL-обновления, SQL удалению, фильтр *, принесите-профиль *, * ResultSet (запрос |?? sql- запрос) *)».

Содержание отображения файла:

01 <?xml version="1.0"?> 
02 <!DOCTYPE hibernate-mapping PUBLIC 
03  "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
04   "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 
05 
06 <hibernate-mapping package="test"> 
07 
08  <class name="phone" table="phone"> 
09    <property name="studentid" column="student_id" type="integer"/> 
10    <property name="phone" column="number" type="string"/>   
11  </class> 
12 
13 </hibernate-mapping> 
  • Что я пропустил?
  • Как я могу интерпретировать ошибку? Какие:? *
  • Есть ли бесплатный валидатор/редактор, который может помочь мне заполнить xml?

(почему-то затмение не показывает ничего в представлении набросков ...)

Спасибо заранее.

Cs

+0

В начале был ИД, но, возможно, у меня была еще одна ошибка, я получил эту форму путем исключения. Итак, я мог бы это выяснить, если бы я сосредоточился на том, что не имеет * или?. Большое спасибо. – user2013619

ответ

1

* означает: 0, 1 или более элементов предыдущего типа, как ожидается, ,

? означает, что ожидается 0 или 1 элемент предыдущего типа.

Ничто не означает, что ожидается один из предшествующих типов.

Для этого нужен элемент id или composite-id ((id|composite-id)) перед любым элементом property.

1

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

<class name="phone" table="phone"> 
    <id column=... 
Смежные вопросы