栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何将Java中的二维矩阵映射到Hibernate / JPA?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何将Java中的二维矩阵映射到Hibernate / JPA?

我想不仅要尝试解决错误,还应该四处询问并尝试找到解决此映射挑战的正确方法。有没有人发现通过JPA映射多维数组成功和满意?

AFAIK,标准JPA不支持嵌套集合。JPA Wiki书中有一个很好的章节介绍了这个主题(我只引用了其中的一部分):

嵌套的集合,地图和矩阵

在对象模型中,通常具有复杂的集合关系,例如的a

List
List
s(即矩阵)或的a
Map

Map
s或
Map
List
s的a 等等。不幸的是,这些类型的集合很难映射到关系数据库。

JPA不支持嵌套的集合关系,通常最好更改对象模型,以避免它们使持久性和查询更容易。 一种解决方案是创建一个包装嵌套集合的对象。

例如,如果一个

Employee
有一个
Map
Project
由一个键控小号
String
项目类型和值的
List
Project
秒。为了对此进行映射
ProjectType
,可以创建一个新类来存储project-
type和
OneToMany
to
Project


那就是我的建议。例如:

@Entitypublic class TestClass {        @Id    private long id;    @oneToMany(mappedBy="testClass")    private List<MatrixRow> matrix;}

MatrixLine
将会在哪里(省略许多细节):

@Entitypublic class MatrixRow {    @Id    private long id;    @ManyToOne    private TestClass testClass;    @CollectionOfElements    private List<BigDecimal> row;}

或者, 也许 您可以使用自定义用户类型(我不太确定这将如何工作)。

或者(毕竟,您已经在使用非便携式注释)看看这个问题,看看如何扩展Hibernate:



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/436068.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号