对于以下情况,我想实现一个更复杂的解决方案,我有一个表过程,以及与此过程相关的文档类型的表列表,该表的每个实例都有相同的列表,
i 关系层;这两个表之间没有链接有一个表过程和一个表文档类型,我正在使用hibernate,我想要的是这个文档的列表将与过程类的每个实例一起加载
例如:procedure.getListDocumenttypes()
,并且这个列表对于这个类必须是静态的
对于以下情况,我想实现一个更复杂的解决方案,我有一个表过程,以及与此过程相关的文档类型的表列表,该表的每个实例都有相同的列表,
i 关系层;这两个表之间没有链接有一个表过程和一个表文档类型,我正在使用hibernate,我想要的是这个文档的列表将与过程类的每个实例一起加载
例如:procedure.getListDocumenttypes()
,并且这个列表对于这个类必须是静态的
您可以在 Procedure 的实体类中对 DocumentTypes 列表使用 static 修饰符。
此外,请使用 EAGAR fetchType,因此当程序加载时,只有您将获得 DocumentTypes 的列表,以及静态的。
您不应该使数据库实体成为静态的。它们不是线程安全的。使用延迟加载时,您会遇到真正的问题。即使您关闭了延迟加载,您仍然无法以有意义的方式更改此列表中的值(要更改,重要的是每个事务都有自己的状态)。当它不能改变时,它不属于数据库(只需在你的代码中创建一些常量)。