希望简单的问题:
或者我可以只使用DAO并执行以下操作:
ObjectFromDb ob = dao.find(someProperty);
鉴于ObjectFromDb只是一个没有单个JPA的常规POJO 注解?
我在短时间内谷歌了,但似乎是太具体的问题......
感谢您的任何建议!
答案 0 :(得分:5)
您不需要查询实体,但它们可以让您的生活更轻松。
您可以use regular SQL查询。
您也可以定义一些实体,但只查询其数据的子集 - 即投影查询。
您还可以将JPA构造函数命令与投影查询一起使用,以直接映射到结果对象:
List<MyClass> dtos = em.createQuery("SELECT NEW com.example.MyClass( e.name, e.data) FROM Entity e").resultList();
编辑:使用带注释的实体,您可以使用SQL中不可用的JPQL功能,例如:路径导航。正确注释的实体可以澄清数据库映射。
实体不需要映射表的所有列,只要包含id,就可以使用您喜欢的任何子集。