2017-10-06 2 views
0

JPA에서 MySQL DB와 연결을 시도하고 있지만 지금 당황 스럽습니다.NamedQuery 찾을 수 없습니다.

<?xml version="1.0" encoding="UTF-8"?> 
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"> 
<persistence-unit name="JavaApplication3PU" transaction-type="RESOURCE_LOCAL"> 
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> 
    <class>javaapplication3.Bus</class> 
    <class>javaapplication3.ProductsList</class> 
    <class>javaapplication3.Worker</class> 
    <class>javaapplication3.Division</class> 
    <class>javaapplication3.VechicleType</class> 
    <class>javaapplication3.Kontrahent</class> 
    <class>javaapplication3.Vies</class> 
    <class>javaapplication3.Templ</class> 
    <class>javaapplication3.DocumentsList</class> 
    <class>javaapplication3.Vechicle</class> 
    <properties> 
      <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/dem?zeroDateTimeBehavior=convertToNull"/> 
      <property name="javax.persistence.jdbc.user" value="test"/> 
      <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> 
      <property name="javax.persistence.jdbc.password" value="test"/> 
    </properties> 
</persistence-unit> 
</persistence> 

Vechicle Persistance.xml

: 내 파일을 여기에

[EL Warning]: metamodel: 2017-10-06 12:04:17.461--The collection of metamodel types is empty. Model classes may not have been found during entity search for Java SE and some Java EE container managed persistence units. Please verify that your entity classes are referenced in persistence.xml using either <class> elements or a global <exclude-unlisted-classes>false</exclude-unlisted-classes> element 
Hello world 
Exception in thread "main" java.lang.IllegalArgumentException: NamedQuery of name: Vechicle.findAll not found. 
at org.eclipse.persistence.internal.jpa.QueryImpl.getDatabaseQueryInternal(QueryImpl.java:351) 
at org.eclipse.persistence.internal.jpa.EntityManagerImpl.createNamedQuery(EntityManagerImpl.java:1124) 
at javaapplication3.JavaApplication3.main(JavaApplication3.java:28) 

것 : 나는 그것을 한 적이 있지만 지금은 내가이 예외를 받고 있어요 것을 반복 할 때 방법을 몰라 .class

@Entity 
@Table(name = "vechicle") 
@NamedQueries({ 
    @NamedQuery(name = "Vechicle.findAll", query = "SELECT v FROM Vechicle v"), 
    @NamedQuery(name = "Vechicle.findById", query = "SELECT v FROM Vechicle v WHERE v.id = :id"), 
    @NamedQuery(name = "Vechicle.findByNrReg", query = "SELECT v FROM Vechicle v WHERE v.nrReg = :nrReg"), 
    @NamedQuery(name = "Vechicle.findBySize", query = "SELECT v FROM Vechicle v WHERE v.size = :size")}) 
public class Vechicle implements Serializable { 

    private static final long serialVersionUID = 1L; 
    @Id 
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    @Basic(optional = false) 
    @Column(name = "id") 
    private Integer id; 
    @Basic(optional = false) 
    ...... 
} 

Application.class

private static EntityManagerFactory emf = Persistence.createEntityManagerFactory("JavaApplication3PU"); 
private static EntityManager em = emf.createEntityManager(); 

public static void main(String[] args) { 
    System.out.println("Hello world"); 
    em.getTransaction().begin(); 
    List<Vechicle> vech = em.createNamedQuery("Vechicle.findAll").getResultList(); 
    em.getTransaction().commit(); 
} 

그 혼란 죄송하지만 그것을 알아낼 내 여섯 번째 시도이다 그러나 나는 wrog 무엇 아무 생각 없어했습니다. 같은 구성을 가진 다른 앱이 정말 잘 작동합니다 ... 누군가 내가 뭘 잘못했는지 아이디어가 있습니까?

+1

은 QUESTION에 그것을 넣는 것보다 QUESTION에 답으로 추가해야합니다. – DN1

+0

네 말이 맞아. 끝난. – Andrew

답변

0

몇 분 후에 저는 두 프로젝트의 모든 속성 파일을 ckeched했습니다 ... Java9로 시작된 프로젝트는 지금 JPA에서 작동하지 않습니다. 기술 업데이트가 항상 좋은 것은 아닙니다.

javac.source=9 
javac.target=9 

에 :

javac.source=1.8 
javac.target=1.8 

soooo는 모든 :)

의 누군가가 자바 (9) 프로젝트를 만들고 그 문제에 직면하는 것은 너무 project.properties 및 변경 linse에 가야 그래서 경우

관련 문제