Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Netbeans平台和Jpa EclipsLink_Java_Jpa_Eclipselink - Fatal编程技术网

Java Netbeans平台和Jpa EclipsLink

Java Netbeans平台和Jpa EclipsLink,java,jpa,eclipselink,Java,Jpa,Eclipselink,我在netbeans上创建了一个项目并添加了jpa,但是当我运行这个项目时,我遇到了这个错误。我使用netbeanside [EL Info]:2017-11-05 00:01:05.271——服务器会话(1276666395)——EclipseLink,版本:EclipsePersistenceServices-2.5.2.v20140319-9ad6abd [EL Info]:连接:2017-11-05 00:01:05.451——服务器会话(1276666395)——文件:/C:/User

我在netbeans上创建了一个项目并添加了jpa,但是当我运行这个项目时,我遇到了这个错误。我使用netbeanside

[EL Info]:2017-11-05 00:01:05.271——服务器会话(1276666395)——EclipseLink,版本:EclipsePersistenceServices-2.5.2.v20140319-9ad6abd [EL Info]:连接:2017-11-05 00:01:05.451——服务器会话(1276666395)——文件:/C:/Users/kB/Documents/NetBeansProjects/JavaApplication11/build/classes/_JavaApplication11PU登录成功 [EL Warning]:2017-11-05 00:01:20.582——服务器会话(1276666395)——异常[EclipseLink-4002](Eclipse持久性服务-2.5.2.v20140319-9ad6abd):org.Eclipse.Persistence.exceptions.DatabaseException 内部异常:java.sql.SQLException:表“room”已存在 错误代码:1050 调用:创建桌子房间(房间id整数不为空,房间名称VARCHAR(255),主键(房间id)) 查询:DataModifyQuery(sql=“创建表室(房间id整数不为NULL,房间名称VARCHAR(255),主键(房间id))) [EL Warning]:2017-11-05 00:01:35.687——服务器会话(1276666395)——异常[EclipseLink-4002](Eclipse持久性服务-2.5.2.v20140319-9ad6abd):org.Eclipse.Persistence.exceptions.DatabaseException 内部异常:java.sql.SQLException:表“序列”已存在 错误代码:1050 调用:创建表序列(SEQ_NAME VARCHAR(50)不为空,SEQ_COUNT DECIMAL(38),主键(SEQ_NAME)) 查询:DataModifyQuery(sql=“创建表序列(SEQ_NAME VARCHAR(50)不为空,SEQ_COUNT DECIMAL(38),主键(SEQ_NAME))) [EL Warning]:2017-11-05 00:01:35.816——UnitOfWork(190868662)——java.lang.ClassCastException:java.lang.String不能转换为java.lang.Number 线程“main”java.lang.ClassCastException中出现异常:无法将java.lang.String转换为java.lang.Number 位于org.eclipse.persistence.sequencing.QuerySequence.updateAndSelectSequence(QuerySequence.java:278) 位于org.eclipse.persistence.sequencing.StandardSequence.getGeneratedVector(StandardSequence.java:71) 位于org.eclipse.persistence.sequencing.DefaultSequence.getGeneratedVector(DefaultSequence.java:163) 位于org.eclipse.persistence.Sequence.Sequence.getGeneratedVector(Sequence.java:257) 位于org.eclipse.persistence.internal.sequencement.SequencingManager$Preallocation\u Transaction\u NoAccessor\u State.getNextValue(SequencingManager.java:468) 位于org.eclipse.persistence.internal.sequencing.manager.getNextValue(SequencingManager.java:1067) 位于org.eclipse.persistence.internal.sequencing.ClientSessionSequencing.getNextValue(ClientSessionSequencing.java:70) 位于org.eclipse.persistence.internal.descriptors.ObjectBuilder.assignSequenceNumber(ObjectBuilder.java:361) 位于org.eclipse.persistence.internal.descriptors.ObjectBuilder.assignSequenceNumber(ObjectBuilder.java:320) 位于org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.assignSequenceNumber(UnitOfWorkImpl.java:486) 位于org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerNotRegisteredNewObjectForPersist(UnitOfWorkImpl.java:4290) 位于org.eclipse.persistence.internal.sessions.RepeatableWriteUnitOfWork.registerNotRegisteredNewObjectForPersist(RepeatableWriteUnitOfWork.java:518) 位于org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerNewObjectForPersist(UnitOfWorkImpl.java:4235) 位于org.eclipse.persistence.internal.jpa.EntityManagerImpl.persist(EntityManagerImpl.java:496) 位于javaapplication11.javaapplication11.main(javaapplication11.java:29) C:\Users\kB\AppData\Local\NetBeans\Cache\8.2\executor snippets\run.xml:53:Java返回:1 生成失败(总时间:31秒)

这是我的实体类

package javaapplication11;

import java.io.Serializable;
import java.util.Objects;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 *
 * @author kB
 */
@Entity
@Table(name="room")
public class NewEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "room_id")
    private int id;

    @Column(name = "room_name")
    private String name;

    public NewEntity() {
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public int hashCode() {
        int hash = 5;
        hash = 29 * hash + this.id;
        hash = 29 * hash + Objects.hashCode(this.name);
        return hash;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final NewEntity other = (NewEntity) obj;
        if (this.id != other.id) {
            return false;
        }
        if (!Objects.equals(this.name, other.name)) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return super.toString(); //To change body of generated methods, choose Tools | Templates.
    }





}
这是主要的课程

package javaapplication11;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

/**
 *
 * @author kB
 */
public class JavaApplication11 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here

        EntityManagerFactory emf = Persistence.createEntityManagerFactory("JavaApplication11PU");
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();
        NewEntity x = new NewEntity();
        x.setName("anan");
        em.persist(x);
        em.getTransaction().commit();
        em.close();
        emf.close();   
    }        
}
最后是我的persistence.xml

<?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="JavaApplication11PU" transaction-type="RESOURCE_LOCAL">
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
    <class>javaapplication11.NewEntity</class>
    <properties>
      <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/felek"/>
      <property name="javax.persistence.jdbc.user" value="root"/>
      <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
      <property name="javax.persistence.jdbc.password" value=""/>
      <property name="javax.persistence.schema-generation.database.action" value="create"/>
    </properties>
  </persistence-unit>
</persistence>

org.eclipse.persistence.jpa.PersistenceProvider
javaapplication11.NewEntity

这就是全部代码吗


因为堆栈末尾的跟踪指向JavaApplication11.java:29,这是main的}符号,这很奇怪。

似乎您有映射错误检查MySql,并且每个列的类型都有一个外观,它不起作用:(好吧,只是微笑一下。)(:如何尝试在持久化xml中使用
拖放并创建
,删除架构并重新创建,然后使其在第一次运行后返回为
创建
,但它不起作用:(再次提醒兄弟)(:试一试新项目怎么样?或者,为什么不先创建数据库表,然后使用netbeans生成实体呢?试一试,如果还需要什么,只需点击注释,祝您好运