2013-02-20 2 views
3

Creating a List<> Member with Spring Roo это не отвечает на мой вопрос!Spring Roo - MongoDb - Список строк

Итак, что я хочу сделать, это «список полей - fieldName addressList» , но весенний рой кажется только разрешенным «полем набора - fieldName addressList -type ~ .model.A», и я даже не могу сделать "field set - fieldName addressList --type java.lang.String"

так что это должно быть очень просто, но почему это не поддерживается? или что я должен делать вместо этого, чтобы достичь того же результата?

ответ

0

«Как это не поддерживается?»

Поскольку эта часть фреймворка предназначена для представления отношений постоянных объектов. Почему вы хотите относиться к списку (не установленному)? Как вы узнаете, была ли эта запись частью связанной записи, а не только дубликатом?

«и я не могу даже сделать» поле набор --fieldName Addresslist --type java.lang.String «»

Это потому, что java.lang.String не JPA класса. Вы можете связывать только объекты jpa друг с другом.

Вы должны создать класс Address с представлением поля String, которое вы связываете с этим объектом.

entity jpa --class ~.Address 
field string AddressLine1 --notNull 
field string AddressLine2 
focus --class ~.YourClassThatNeedsAnAddressList 
field set --fieldName addressList --type ~.Address 

Теперь каждый экземпляр ~ .YourClassThatNeedsAnAddressList может иметь несколько адресов, связанных с ним. Каждый адрес состоит из двух строк.

+0

спасибо, мне кажется, что мне нужно создать ненужные классы. а что, если я хочу сохранить список идентификаторов строк? в документе на mongodb? – Jaxox

+0

Похоже, вы не думаете об ориентации объекта. Что будет представлять список строк? Что будет представлять идентификатор? Что мог бы сделать ID? (для себя?) Я пришел к выводу, что список чего-либо имеет связанную функциональность - я призываю кого-то найти пример, который этого не делает. В этом случае вы должны моделировать не только класс, который содержит список, но и модель самого списка как класса. Это означает, что вместо создания списка полей вы создадите поле - fieldName address --Type ~ .Addresses. Адресами тогда могут быть все - карта, набор, список. –