The modifying query now clears the EntityManager so that the changes are really flushed to the database. This is necessary as Boot 2.0 flips the default for Hibernate's new identifier mappings which causes entities less aggressively being flushed and the previously used detach apparently removing them from the persistence context without ever making it to the database.
Changed the update clause to set the the entire principal the reflect a domain object design that's closer to what might be set up if Spring Data auditing is used, too.
Made use of Lombok in the domain objects where possible. Reduced visibility of repository interfaces to package scope. Minor test case cleanups.