Spring Data MongoDB实现@DBRef级联存储
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.DBRef;
import org.springframework.data.mongodb.core.mapping.Document;
@Document
public class User {
@Id
private String id;
private String name;
@DBRef
private Role role;
// 标准的getter和setter方法
public String getId() { return id; }
public void setId(String id) { this.id = id; }
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public Role getRole() { return role; }
public void setRole(Role role) { this.role = role; }
}
@Document
public class Role {
@Id
private String id;
private String roleName;
// 标准的getter和setter方法
public String getId() { return id; }
public void setId(String id) { this.id = id; }
public String getRoleName() { return roleName; }
public void setRoleName(String roleName) { this.roleName = roleName; }
}
// 使用示例
User user = new User();
user.setName("John Doe");
Role role = new Role();
role.setRoleName("Admin");
user.setRole(role);
// 假设有一个MongoTemplate实例或者继承了MongoRepository的接口
// mongoTemplate.save(user);
这个代码示例展示了如何在Spring Data MongoDB中使用@DBRef
注解来实现级联存储。User
类中的role
字段被标记为@DBRef
,这意味着当保存一个User
实例时,其关联的Role
实例也会被自动保存到MongoDB。这种方式简化了对关联对象的管理,并提供了更好的数据库引用灵活性。
评论已关闭