调用createOrUpdate时,Ormlite忽​​略字段

时间:2016-01-10 18:16:06

标签: java ormlite

是否存在可以应用于字段的注释,该字段在调用createOrUpdate并传递对象时,如果对象已存在,则不会更新特定字段。 用例是我的对象中有一个创建日期(设置为Java对象创建的当前时间),但如果该对象已存在于数据库中,我不希望更新日期,但希望更新其他字段。最好对id进行查询(如果它不存在则创建),然后在我的代码中迭代浏览其他字段并对任何不同的字段进行更新。

2 个答案:

答案 0 :(得分:1)

  

是否存在可以应用于字段的注释,该字段在调用createOrUpdate并传递对象时,如果对象已存在,则不会更新特定字段。

槽糕。不,没有。您可以做的一件事是创建一个具有相同字段但没有日期字段的类。或者你可以有一个基类,除了日期字段之外的所有字段。然后有一个子类添加日期字段。这两个类都将保存到同一个表中。如果要使用日期对象,可以使用日期对象保存。

希望这有帮助。

答案 1 :(得分:0)

我通过使用@DatabaseField(columnName = "last_value_date", readOnly = true) private Date lastValueDate; 属性来做到这一点。

readOnly

在更新期间,所有sodium_crypto_pwhash()属性都将从更新查询中跳过。