#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. рад, что это сработало для вас. Однако лучше всего, если вы отредактируете свой фактический вопрос и предоставите всю конфигурацию, о которой я спрашивал, чтобы я мог дать лучший ответ и закрыть этот вопрос