У меня есть данные, которые проходят через мое приложение, и обычно их не нужно беспокоить, но для реализации новой функции мне нужно временно их хранить (например, 1 час).Входящие данные могут быть точно такими же, как то, что уже есть, поэтому нет необходимости в первичном ключе.Однако для JPA Entities нужен идентификатор, а мне не нужен / не нужен.Это мешает мне заставить его работать.
Это через Spring с использованием JPA.Поскольку данные часто перемещаются в базу данных и из нее, использование автоматически сгенерированного идентификатора не рекомендуется, поскольку оно пройдет через идентификаторы через несколько лет.Я попытался сделать его встраиваемым, в котором говорится, что мне нужно выполнить сканирование компонента, чтобы найти, где он используется, но если я сделаю его сущностью, он выдаст ошибку, что ему нужен первичный ключ.
Это моя сущность, которая хранит данные, которые мне нужны для сохранения.
@Entity
@Table(name = "quoteOrderHistory")
public class QuoteOrderHistory {
@Column(name = "storeNumber")
private int storeNumber;
@Column(name = "invoiceNumber")
private String invoiceNumber;
@Column(name = "quoteSaleDate")
private Date quoteSaleDate;
@Column(name="orderTotal")
private BigDecimal orderTotal;
@Column(name="orderHistoryDate")
private Timestamp orderHistoryDate;
// Constructors, Getters and Setters
}
Это мой репозиторий для доступа к данным.
@Repository
public interface QuoteOrderHistoryRepository extends JpaRepository<QuoteOrderHistory, Long> {
@Query("DELETE FROM QuoteOrderHistory q WHERE q.orderHistoryDate > date")
void deleteAllExpired(Date date);
@Query("SELECT q FROM QuoteOrderHistory q WHERE q.storeNumber = ?1 AND q.invoiceNumber = ?2 ORDER BY q.orderHistoryDate DESC")
List<QuoteOrderHistory> findAllByStoreAndInvoiceDesc(int storeNumber, String invoiceNumber);
}
Я не могу понять, чтобы получить этоРабота.Опять же, первичный ключ не нужен, поскольку предполагается, что он поддерживает повторяющиеся записи.Если есть другой способ обойтись без использования JPA, тогда я полностью за это, но в настоящее время кажется, что легче всего сохранить данные.Если вам нужна дополнительная информация, просто дайте мне знать.Я также мог бы упустить что-то, что можно сделать, чтобы избежать всего этого вместе, но я не настолько знаком с JPA.Так что вся помощь приветствуется.