With JPA, what ever chances you do, that happens in the persistence context area. When the service(the method which you have called) ends, at that time all the contents of the persistence context area is flushed into the database.
1. For service updateForTestJPQL: - Whatever things you are doing is part of JPQL(JPA), and the data from persistence context will be flushed only at the end of service call. That is the reason why all the records in the database are having the same value "gialli".
2. For service updateForTestNative: - In this service you are using native Query, so the updation in the database will occur at the time itself, when you call the executeUpdate. and finally when the service ends the data in the persistence context gets flushed. That means, with native query update, all the records will be updated with value "gialli", but when finally the service ends the persistence context data will be flushed and entered into database, thats why you are getting one record with value "bianchi"