我正在使用spring数据jpa。我在两张桌子上有一个内部连接。这是我的问题。
SELECT A.NAME, A.CARD_NUMBER, A.ADDRESS, A.EMAIL FROM USER_INFO ABC INNER JOIN USR_DETAIL DEF ON (ABC.ID = DEF.ID) WHERE ABC.ID = '123456';这里的两张桌子没有关系。因此,列名上的一对一或多对一或多对多没有意义。我可以定义没有关系的实体吗?我们在这里对两个表执行内部连接的原因很简单,因为对这两个表进行连接将是一个昂贵的查询。
发布于 2017-10-12 21:40:32
您可以在没有任何关系的情况下定义两个实体,然后可以在read方法中的nativeQuery=true注释中检索指定@Query(..)的数据。
@Query(value = "SELECT ABC.NAME, ABC.CARD_NUMBER, ABC.ADDRESS, ABC.EMAIL " +
"FROM USER_INFO ABC " +
"INNER JOIN USR_DETAIL DEF ON (ABC.ID = DEF.ID) " +
"WHERE ABC.ID = :id", nativeQuery = true)
UserInfoDetails retrieveUserInfoAndDetailById(@Param("id") String id);边注:
A更正为ABC。请根据您的需要自由地编辑投影。UserInfoDetails类,假设它将返回类似的内容。可以随意地根据你的需要来改变它。https://stackoverflow.com/questions/46672467
复制相似问题