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 무엇 아무 생각 없어했습니다. 같은 구성을 가진 다른 앱이 정말 잘 작동합니다 ... 누군가 내가 뭘 잘못했는지 아이디어가 있습니까?
은 QUESTION에 그것을 넣는 것보다 QUESTION에 답으로 추가해야합니다. – DN1
네 말이 맞아. 끝난. – Andrew