【发布时间】:2019-05-23 19:35:49
【问题描述】:
我必须在创建新记录时为 createdBy 字段分配 id 字段,即 user_id。
尝试使用以下代码:
User user = new User();
user.setUserName("test");
user.setUserRegisteredDate(CalendarUtil.getCurrentTimeStamp());
user.setCreatedBy(user.getUserId());//NOT NULL field
userRepository.save(user);
但保存失败,因为 createdBy 没有任何值,即 NULL
如何在使用 Spring Data JPA 创建新记录时将 ID 值分配给另一个字段?
【问题讨论】:
-
要么验证用户,因此 user_id 不能为零。也很想知道为什么要通过在 2 个字段中设置相同的值来做到这一点?
-
@Alien 在我们的应用程序中,用户也可以从应用程序代码和数据库中创建。如果从数据库创建,则 createdBy 值将是管理员用户 ID。否则它将是该记录的 user_id。所以 user_id = created_by
-
登录后会创建用户吗?如果是这种情况,则将登录的用户ID设置为该字段。
-
@Alien No. 一旦用户提供输入,GUI 将调用用户注册 API。
-
能否请您在问题中添加用户类?
标签: hibernate jpa spring-data-jpa