Попробуйте перебрать 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 (имя и фамилия не совпадают в точности)
Я исправил проблему с помощью изменив код на
@Basic(optional = false)
@Column(name = "LastTouched", insertable = false, updatable = false)
@Temporal(TemporalType.TIMESTAMP)
private Date lastTouched;
, поэтому столбец метки времени игнорируется при генерации вставок SQL. Не уверен, что это лучший способ сделать это. Обратная связь приветствуется.
Это работало на меня:
@Column(name = "transactionCreatedDate", nullable = false, updatable = false, insertable = false, columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
Я понимаю, что это немного поздно, но у меня был успех с аннотацией столбца временной метки с
@Column(name="timestamp", columnDefinition="TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
Это также должно работать с CURRENT_DATE
и CURRENT_TIME
. Я использую JPA/Hibernate с Oracle, так что YMMV.