これは、Spring-Roo 2.0でJSONをRESTfulなWebサービス呼び出しから戻している問題の簡単な例です。以下は、2つのクラス(会社とユーザー)のRooスクリプト、ユーザーがcompany_id = 1に関連していることを示すデータベースのコンテンツ、JSONはユーザーのGETに戻っています。 company = nullであることに注意してください。それが問題です。私は何か間違っているのですか?Spring-Roo 2.0では、取得したJSONはオブジェクト間の関係を表示しません。
Rooのスクリプト
jpa setup --provider HIBERNATE --database MYSQL
--userName pivot --password pivot --databaseName testdb
entity jpa --class ~.model.MyUser
field string --fieldName firstName --notNull
field string --fieldName lastName --notNull
entity jpa --class ~.model.Company
field string --fieldName name –notNull
field set --fieldName users --type ~.model.MyUser --cardinality ONE_TO_MANY
--mappedBy company --comment "Users" --notNull false
repository jpa --all --package ~.repository
service --all --apiPackage ~.service.api --implPackage ~.service.impl
web mvc setup
/* ThymeLeaf view layer */
web mvc view setup --type THYMELEAF
web mvc templates setup --type THYMELEAF
web mvc controller --all --package ~.web --responseType THYMELEAF
/* JSON Rest controllers */
web mvc controller --all --responseType JSON --pathPrefix /json
web mvc finder --all --responseType THYMELEAF
web mvc finder --all --responseType JSON
データベース
mysql> select * from my_user;
+----+------------+-----------+---------+------------+
| id | first_name | last_name | version | company_id |
+----+------------+-----------+---------+------------+
| 1 | First | Last | 0 | 1 |
+----+------------+-----------+---------+------------+
1 row in set (0.00 sec)
JSON
{
"content": [
{
"id": 1,
"version": 0,
"firstName": "First",
"lastName": "Last",
"company": null
}
],
"last": true,
"totalPages": 1,
"totalElements": 1,
"size": 20,
"number": 0,
"first": true,
"numberOfElements": 1,
"sort": null
}
これは大いに役立ちます。ありがとうございました!私もサイクリック関係の問題に遭遇しました。その質問に事前に回答してくれてありがとう。 – Patrick
この回答が役立つ場合は、妥当性を確認して投票してください! ;)よろしく – jcgarcia