Mar*_*rcG 7 java hibernate criteria-api jpa-2.0
问题:
1)如果我从Hibernate 4.x升级到Hibernate 5.x,我还可以使用"旧"Criteria Queries,还是只使用新的Typed JPA2 Criteria Queries?是旧的还是旧的,还是我可以并排使用?
2)我是否正确理解新的Typed Criteria迫使我为每个 Entity类创建第二个类,从而重复了类的数量?我应该手动创建这些类吗?如果没有,怎么样?咆哮:不得不复制课程看起来很奇怪,所以我必须以某种方式误解它?这不是过度杀伤而且不必要的复杂吗?
JB *_*zet 11
不,旧标准API不会被弃用.只需看看javadoc:没有弃用警告.但我建议坚持使用标准JPA API,而不是使用与专有Hibernate API混合的标准JPA API.
不,它不会强迫你.您仍然可以使用字符串标识符.但如果以类型安全为目标,强烈建议使用元模型类.
当然,您不需要手动生成这些.它们由注释处理器,实体类及其映射注释生成.您可能会发现它很奇怪,但使用起来root.get(MyEntity_.firstName)比使用起来更安全root.get("firstName"):在编译时检测到拼写错误,如果您重构字段firstname,编译器将生成错误,而不是让您使用旧的"firstName"字符串标识符.
我仍然发现JPQL查询更容易编写,理解和维护,并且只有在必须基于多个...条件生成动态查询时才使用条件API.使用自动化测试来检查查询是否正确.即使使用标准查询,BTW也是如此.
| 归档时间: |
|
| 查看次数: |
4664 次 |
| 最近记录: |