我正在研究Jhipster应用程序Java服务和Angular 5 UI。我有一个工作正常的实体,但是我需要从该实体获取一个字段(客户)之一的列表,以显示在UI中。
在这种情况下,我正在使用一个包含客户名称的单个表,因此我试图获取一个只读的唯一列表。
我尝试创建一个自定义存储库,并将一个函数添加到服务中,即Impl类和资源类。
启动时失败,无法在实体上找到属性getClientNameList。
我已经展示了Entity类,自定义存储库以及我添加到PostsServiceImpl类中的方法的代码片段。
有人可以引导我朝正确的方向前进吗?
谢谢。
// Entity Class //
@Entity
@Table(name = "posts")
public class Posts implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name="client_name")
private String clientName;
// Other fields here
...
}
// Custom Repository //
@Repository
public interface JobsRepositoryCustom {
List<String> getClientNameList();
}
// PostsServiceImpl //
public class PostsServiceImpl implements PostsService {
EntityManager entityManager;
public List<String> getClientNameList() {
Query query = entityManager.createNativeQuery("SELECT clientName FROM Posts", Posts.class);
return query.getResultList();
}
}
答案 0 :(得分:1)
您的错误可能更具体地是未找到clientName
。找不到它是因为,如果您运行本机查询,则需要使用数据库列名。
所以改变:
"SELECT clientName FROM Posts"
到
"SELECT client_name FROM Posts"