作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有许多域/业务对象,当在 hibernate 条件中使用时,它们被字段名称引用为字符串,例如:
Criteria crit = session.createCriteria(User.class);
Order myOrdering = Order.desc("firstname");
crit.addOrder(myOrdering);
firstname 是 User.class 的字段/属性。
我可以手动创建一个枚举并将所有字符串存储在其中;有没有其他方法我想念并且需要更少的工作(我可能会忘记维护枚举)。
最佳答案
恐怕没有好的方法可以做到这一点。即使您决定使用反射,您也只有在查询运行时才会发现问题。
但是有一个更好的解决方案来尽早发现问题:如果您使用命名查询 (javax.persistence.NamedQueries),您将在 Hibernate 处理您的实体后立即编译所有查询,因此基本上它会在服务器启动期间发生。因此,如果某个对象的更改破坏了查询,您将在下次启动服务器时知道它,而不是在实际运行查询时知道。
希望对您有所帮助。
关于java - 字符串解耦和字段名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7917162/
概述 CentOS Stream 成立于 2019 年,是“RHEL 下一步的滚动预览”。Red Hat 首席技术官 Chris Wright 和 CentOS 社区经理 Rich Bowen 各
我有一个使用 Mesosphere DC/OS 编排选项进行配置的 Azure 容器服务 (ACS) 集群。我可以在 Marathon UI 中创建一个应用程序。 但是,当我通过 Marathon U
我是一名优秀的程序员,十分优秀!