Я не могу получить набор результатов, который содержит оба поля из двух объектов
Я пытался добавить интерфейс переноса данных, но он получает неверные данные
У меня есть две сущности:
@Entity
@Table(schema = "common", name = "entity_a")
public class EntityA {
@Id
@Column(name = "code")
private String code;
@Column(name = "name")
private String name;
}
@Data
@Entity
@Table(schema = "common", name = "entity_b")
public class EntityB {
@Id
@Column(name = "code")
private String code;
@Column(name = "name")
private String value;
}
также у меня есть JPARepository
интерфейс
public interface EntityARepository extends JpaRepository<EntityA, String> {
interface EntityAB {
String getName();
String getValue();
}
@Query("SELECT a.name as name, b.value as value FROM EntityA as a " +
"INNER JOIN EntityB as b " +
"ON a.code = b.code " +
"WHERE a.code = :code")
Collection<EntityAB> findAllNamesAndValuesByCode(@Param("code") String code);
}
IDE показывает мне, что ссылка на метод getName () верна, но getValue () никогда не вызывается ... Я предполагал, что мне нужно использовать какой-то другой подход, но я не знаю, как это делается ... Итак, когда я получаю результат этого запроса, я получаю коллекцию JdkDynamicAopProxy @ 11111 и т. Д. Я не могу работать с этим объектом.
Лучшее для меня - это получить ссылку на объект EntityB
, но я не могу получить ее в своей проекции EntityAB
... Я думаю, что мне следует использовать какой-то метод получения, такой как
EntityB getEntityByCode(String code);
и реализовать его в коде, но это кажется слишком примитивным ...
Как мне сделать такую операцию?