java-字符串解耦和字段名称
作者:互联网
我有许多域/业务对象,它们在休眠条件中使用时,由字段名称引用为字符串,例如:
Criteria crit = session.createCriteria(User.class);
Order myOrdering = Order.desc("firstname");
crit.addOrder(myOrdering);
其中,firstname是User.class的字段/属性.
我可以手动创建一个Enum并将所有字符串存储在其中;还有其他我想念的方式并且需要更少的工作吗(我可能会忘记维护Enum).
解决方法:
这是让我对Hibernate感到恼火的事情之一.
无论如何,我过去都使用两种机制之一解决了这一问题,要么自定义用于从Hibernate配置文件生成基类的模板,要么查询我的Hibernate类以获取注释/属性,并生成适当的枚举,类,常量,等等.这很简单.
它增加了构建过程的一步,但是IMO正是我这样做时需要的. (我最近的几个项目还没有完成,但是对于大型的多开发项目,我真的很喜欢.)
标签:reflection,hibernate,hibernate-criteria,java 来源: https://codeday.me/bug/20191102/1988549.html