ActiveJDBC не удается включить таблицу

#activejdbc #javalite

#activejdbc #javalite

Вопрос:

У меня есть две таблицы orders и address

 Order table
 ---- ---------------- ----------------------------------- -------------------------------------------------- 
| id | trackingNumber | user_id (reference to user table) | receiverAddress_id (reference to address table ) |
 ---- ---------------- ----------------------------------- -------------------------------------------------- 
| 1  | TRACK123       | 1                                 | 2                                                |
 ---- ---------------- ----------------------------------- -------------------------------------------------- 
|    |                |                                   |                                                  |
 ---- ---------------- ----------------------------------- -------------------------------------------------- 
  
 address table
 ---- -------- -------------- -------------- 
| id | name   | addressLine1 | addressLine2 |
 ---- -------- -------------- -------------- 
| 1  | Mr.abc | qwertyuiop   | qwertyuiop   |
 ---- -------- -------------- -------------- 
|    |        |              |              |
 ---- -------- -------------- -------------- 

  

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

 //sample code: not working
  LazyList<Orders> order = Orders.find("id = 1").include(Addresses.class);
  order.toJson(true);

  

Комментарии:

1. Во-первых, вам необходимо включить фактические имена таблиц, а также определения моделей. Кроме того, вы используете модель Pickups , поэтому совсем не ясно, каковы ваши отношения с таблицами. Пожалуйста, укажите более подробную информацию.

2. Привет, ipolevoy, спасибо за ответ, В примере кода я неправильно поделился своей ошибкой. моя адресная модель выглядит следующим образом: @Table("addresses") public class Addresses extends Model { Режим заказа: @Table("orders") @Many2Many(other = Addresses.class, join = "orders", sourceFKName = "receiverAddress_id", targetFKName = "id") public class Order extends Model { однако, когда json-код указан, он "children":{ "addresses":[ ] пуст. Я не могу понять, как реализовать эти две таблицы

3. если я использую @Table("addresses") @HasMany(child = Orders.class, foreignKeyName = "receiverAddress_id") public class Addresses extends Model { `, я получаю адрес узла в формате json "parents":{ "addresses": . Каким бы ни был ключ, это parents их любой способ переопределить его.

4. привет, изменил @Table("orders") @Many2Many(other = Addresses.class, join = "orders", sourceFKName = "id", targetFKName = "receiverAddress_id") public class Order extends Model { , это сработало

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