Установка JPA добавляет метку времени к столбцу, который будет сгенерирован базой данных?

Попробуйте перебрать myOptions. Внесите изменения в свой код следующим образом-

bool check = false;
            string result = string.Empty;
            string myName = "John Smith";
            //note the space, this is intentional, as whether there is a space after the comma is inconsistent
            var myOptions = new List<string> { "Smith,John", "Doe, Bob" };
            var myKeywords = myName.Split(' ').ToList();

            foreach(string s in myOptions)
            {
                if (myKeywords.All(s.Contains))
                {
                    check = true;
                }
            }

Однако, это просто для того, чтобы дать вам представление, в этом случае вы должны протестировать все сценарии. Это будет работать, даже если запись myOptions (имя и фамилия не совпадают в точности)

56
задан Vladimir Vagaytsev 24 August 2016 в 22:54
поделиться

3 ответа

Я исправил проблему с помощью изменив код на

@Basic(optional = false)
@Column(name = "LastTouched", insertable = false, updatable = false)
@Temporal(TemporalType.TIMESTAMP)
private Date lastTouched;

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

51
ответ дан 26 November 2019 в 17:22
поделиться

Это работало на меня:

@Column(name = "transactionCreatedDate", nullable = false, updatable = false, insertable = false, columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
-1
ответ дан 26 November 2019 в 17:22
поделиться

Я понимаю, что это немного поздно, но у меня был успех с аннотацией столбца временной метки с

@Column(name="timestamp", columnDefinition="TIMESTAMP DEFAULT CURRENT_TIMESTAMP")

Это также должно работать с CURRENT_DATE и CURRENT_TIME. Я использую JPA/Hibernate с Oracle, так что YMMV.

39
ответ дан 26 November 2019 в 17:22
поделиться
Другие вопросы по тегам:

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