我一直在玩JDBC和Spring JPA,讓我想到的是Spring如何獲取保存對象的ID。 我已經擴展JpaRepository:JPA如何獲取持久化對象的自動生成ID?
interface UserAccountRepository
extends JpaRepository<UserAccount, Integer> {
}
救了我的對象:
userAccountRepository.save(new UserAccount(
null,
username,
passwordEncoder.encode(password)
));
MySQL的日誌顯示了這些操作:
2017-04-08T12:54:78 52.107156Z查詢SET autocommit = 0
2017-04-08T12:54:52.206061Z 78將查詢插入到user_account(密碼,用戶名)值('encrypted密碼」, '用戶')
2017-04-08T12:54:78 52.206823Z查詢提交
2017-04-08T12:54:78 52.211045Z查詢SET自動提交= 1
既然插入操作沒有返回任何東西(或者我錯過了什麼?),Spring怎麼可能知道這個id而沒有任何額外的查詢呢?
https://docs.oracle.com/javase/8/docs/api/java/sql/Statement.html#getGeneratedKeys-- –
春犯規得到任何東西。 Spring不做JPA。 JPA提供者執行JPA –