总字数 542
预计阅读时间 2 分钟
在Maven项目中引入marphia的包
1 | <dependency> |
maven会自动引入一些其他的依赖jar包 , 否则关联映射就无法正常执行
命令行执行
1 | db.user.insert({ |
说明 : 在NoSQL型数据库当中 , 并不鼓励使用类似于关系型数据库的外键关联
但是为了程序的查询方便 , 提供了这种程序驱动可以识别的表示形式
其实并没有外键关联的检查 , 与普通的文档没有任何区别
使用morphia的注解实现引用
多对一关联
@Reference
注解包含的属性
- concreteClass - 关联的目标类
- idOnly - 只保存从表的数据ID ( 与关系型数据库的外键字段类似 )
- ignoreMissing - 忽略不能解决的引用
- lazy - 懒加载 , 默认是false ( 在双向关联情况下 , 如果双端都不是懒加载 , 会形成死循环 )
- value - 在集合中存储的字段名 , 默认是类中的属性名
角色表
1 |
|
用户表
1 |
|
测试代码
1 | User user = new User(); |
一对多关联
用法与多对一也是类似的 , 数据库中会在 一 的那端以数组形式保存数据
1 |
|
测试代码
1 |
|