有人可以给我一些关于建模具有一些已知属性的hibernate实体的建议,而大多数是由系统用户定义的(在系统初始设置期间)
我需要能够在以后的某个时间搜索这些用户定义的属性。
答案 0 :(得分:1)
首先,您需要决定如何对此进行建模。两种最常见的方法是Entity-Attribute-Value模型和行建模。
前者(使用Hibernate)更容易处理;但是,根据您打算使用的搜索条件,它可能会(非常)表现不佳。某些条件根本无法转换为单个SQL查询。
后者更难实现,因为您正在考虑在运行时动态更改数据库模式并更改Hibernate的配置以匹配。如果您选择这条路线,请查看我对How to map dynamically created table in Hibernate的回答,了解更多详情。
另一种可能的替代方法是使用Hibernate对XML mapping的支持,但同样,根据您的搜索条件和基础数据库支持的XML功能(如果有的话),这可能是也可能不是一个可行的选择。