Hibernate один ко многим IntegrityConstraint при добавлении дочернего элемента в существующий родитель

Я не уверен, похоже, вы не используете ORM, поскольку вы новичок в JS. Я предлагаю вам использовать подходящую ORM с вашей базой данных. Здесь вы пытаетесь найти пользователя по id.

В ORM вы получите функцию с обратным вызовом или обещанием, где вы найдете поток, что вы должны делать, как вы должны идти.

В вашем определении функции есть 3 инструкции, давайте посмотрим на каждый.

1-я инструкция - это просто объявление переменной: var sql = "SELECT * FROM user WHERE discord_id =? ";

в 2-й инструкции много продолжается, давайте проанализируем ее в конце, но сейчас давайте упростим ее как:« Пожалуйста, выполните эту функцию для меня и сохраните возвращаемое значение в var named query "

Ваша 3-я команда - console.log (...)

Итак, вы видите, что она ничего не отличается от того, что сделала бы Java-программа. Обратите внимание: вы не вызываете возврат в «основном» методе, вы вызываете «возврат» из какого-либо другого метода.

Теперь давайте рассмотрим вашу вторую инструкцию, поскольку это вводит вас в понятие, которое вы, возможно, не видели в Java.

var query = con.query(sql, authorID, function (err, result) {
    if (err) {
        throw err;
        return -1;
    }
    return result.length;
});

после этого эта строка не будет исполнена

console.log("Test if this is reached in the program");

Поместите ее перед возвратом, чтобы увидеть.

Да, я знаю, что вы пытаетесь утешить это, чтобы знать, закончилось ли это выполнение или нет, что вы можете использовать обратный вызов, который вернет вам либо ошибку, либо результат.

Но если возможно затем попробуйте ORM для их обработки.

0
задан Wesley 19 January 2019 в 16:08
поделиться

1 ответ

если вы хотите, чтобы и order_id, и order_line_id были составным ключом в сущности OrderLine, вам нужно сначала создать @Embeddable:

 @Embeddable
 public class OrderLinePK implements Serializable {
      private Integer orderId;
      private Integer orderLineId;
 } 

и в своей сущности OrderLine вы измените его на

 @EmbeddedId
 private OrderLinePk pk;

 @MapsId("orderId")
 @ManyToOne
 private Order order;

теперь каждый раз, когда вам нужно создать новую OrderLine, вы должны создать объект первичного ключа и назначить идентификатор следующим образом

 OrderLine orderLine = new OrderLine();
 OrderLinePK pk = new OrderLinePK();
 pk.setOrderLineId(11);
 orderLine.setPk(pk);
 orderLine.setOrder(order);

, надеюсь, это поможет.

0
ответ дан Reza Nasiri 19 January 2019 в 16:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: