Spring4で、特定フィールドのみをselectした結果をエンティティーにキャストする方法
リポジトリクラスで、特定フィールドのみをselectしたメソッドの戻り値を、
Object[]ではなくエンティティーに自動でキャストしてもらう方法はないのでしょうか?
ドキュメントにもそれらしきものがなかったので、ご存じの方がいらっしゃいましたらご教授願います。
http://docs.spring.io/spring-data/data-jpa/docs/current/reference/html/#core.repository-populators
EntityRepository.java
@Repository
public interface Entity extends JpaRepository<Entity, Long> {
// 実際の戻り値はList<Object[]>になるが、エラーにはならない
@Query("select e.id, e.data from Entity e where e.name = ?1")
List<Entity> findByName(String name);
}
Entity.java
@Entity
@Table(
name = "entity"
)
public class Entity {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="id", nullable=false)
private long id;
@Column(name="name", nullable=false)
private String name;
@Column(name="data", nullable=false)
private String data;
... getter setter...
}