我们有一个Java应用程序,它使用Hibernate将一些实体映射到表。
一个实体已经变得非常大,可能包含30多个字段。
一个建议是向此实体添加一个地图,该地图由通用的“属性”对象组成,这些对象将替换某些字段。
这是不好的设计,如果是这样,那会是更好的方法吗?
答案 0 :(得分:1)
坚韧不是不可能的,找到那么多领域的实体是不寻常的。我同意@Gernot关于尝试进行规范化。
无论如何,如果您确实需要所有这些属性,请继续将它们全部包含在内。它比你建议的Map替代品要好得多,因为它会使你的模型失去语义和特定的输入。
答案 1 :(得分:0)
首先,您应该检查映射表的数据库模式是否可以改进,如果它包含那么多字段。 (看看Database Normalization)
如果确实如此,像Lombok这样的库至少可以减少要编写的样板数量(setter,getters,builder ......)。