The timestamp can't be set, because it's set by the database.
So on an entity which is loaded and should be saved based on a ConcurrencyPredicateFactory's created predicate, you use the timestamp column of that entity (as you do).
Could you elaborate a bit why you want to set a timestamp column in memory? The concurrencypredicatefactory isn't used for inserts. This is because inserts don't have a WHERE clause, as they insert a new row. ConcurrencyPredicateFactories are used for updates (and deletes), so you can define that the update only takes place if the row to update hasn't been altered for example. With an insert you don't have that.