我在mysql中创建了一个视图
create view vw_collec_sec_search as
select
cs.collection_set_id,
cs.collection_set_name
from collection_set cs;
我从中生成了实体。
@Entity
@Immutable
@Table(name="vw_collec_sec_search")
@NamedQuery(name="VwCollecSecSearch.findAll", query="SELECT v FROM
VwCollecSecSearch v")
public class VwCollecSecSearch implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name="collection_set_id")
private BigInteger collectionSetId;
现在我正在尝试在条件查询中使用它
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
// Query for a List of objects.
CriteriaQuery cq = cb.createQuery();
Root root = cq.from(VwCollecSecSearch.class);
以下是我得到的例外
java.lang.IllegalArgumentException: Not an entity: class
com.nsf.traqtion.data.view.VwCollecSecSearch
java.lang.IllegalArgumentException: Not an entity: class
com.nsf.traqtion.data.view.VwCollecSecSearch
Not an entity: class com.nsf.traqtion.data.view.VwCollecSecSearch
我在我的项目中使用JPA。
答案 0 :(得分:0)
您需要定义您的实体,因为您必须使用主类中的@EntityScan(“com.xxx.xx.model”)进行扫描。
保持或多或少的东西:
`@SpringBootApplication()
@ComponentScan({
"com.xxx.reporting.service",
"com.xxx.api.reporting.controller",
"com.xxx.reporting.repository"})
@EntityScan("com.xxx.reporting.model")
@ EnableJpaRepositories()
public class Application {
public static void main(String [] args){
SpringApplication.run(Application.class,参数);
}
}
答案 1 :(得分:0)
感谢您的解决方案..实际上我放错了在不同文件夹中创建的实体。所以它无法将其作为一个实体进行扫描。现在问题已解决