Я пытаюсь сделать следующееСпринг колонка JPA DefaultValue
@ManyToOne
@JoinColumn(name="tier_id", columnDefinition = "INT default 1", nullable = false)
public Tier getTier() {
return tier;
}
, но при вставке записи я получаю com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'tier_id' cannot be null
Я хочу по умолчанию tier_id
быть 1
, если он не установлен, но это не так за работой. Как я могу правильно настроить это?
Поэтому в основном я должен принести ярус, я хочу из базы данных с помощью TierDao например, затем установите его в объект, правильно? Я думал, что есть способ сделать это, не запрашивая уровень, так как все новые записи начинаются с уровня, который имеет идентификатор 1. Возможно, я думаю об этом неправильно. Большое спасибо за объяснение. – prettyvoid
Вот что делает em.getReference(): он возвращает неинициализированный прокси, не запрашивая базу данных. –
Любая идея, как я могу достичь того же, используя контекст постоянства пружин? У меня просто есть daos как интерфейсы, которые реализуют CrudRepository. Должен ли я каким-то образом получить ссылку на EntityManager? Любой совет будет оценен, спасибо за ценную информацию, все еще изучая здесь :) – prettyvoid