MySQLSyntaxErrorException:Table' clinica.paciente'不存在

时间:2017-03-10 00:48:55

标签: java mysql hibernate jpa

这是我第一次使用JPA / hibernate,我正在编写一个CRUD桌面java应用程序。

我使用的是H2嵌入式数据库,一切正常,每次运行程序时hibernate都会创建表格。直到我决定使用MySQL服务器代替H2嵌入式数据库,现在我得到了这个

[MySQLSyntaxErrorException:Table' clinica.paciente'不存在]

例外,

我经历了很多类似的问题,但没有答案对我有用,希望有人能帮助我。

提前致谢!

的persistence.xml

<?xml version="1.0" encoding="UTF-8" ?>

<persistence-unit name="Persistencia">

    <class>pojos.Alergia</class>
    <class>pojos.AntecedenteGinecologicoFisiologico</class>
    <class>pojos.AntecedenteGinecologicoPatologico</class>
    <class>pojos.AntecedenteObstetrico</class>
    <class>pojos.AntecedentePersonal</class>
    <class>pojos.Consulta</class>
    <class>pojos.Estudio</class>
    <class>pojos.Medicacion</class>
    <class>pojos.Medicamento</class>
    <class>pojos.MetodoControl</class>
    <class>pojos.Paciente</class>
    <class>pojos.Procedimiento</class>
    <class>pojos.Seguro</class>
    <class>pojos.TratamientoMedico</class>
    <class>pojos.TratamientoQuirurgico</class>
    <class>pojos.Vacuna</class>

    <properties>
        <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
        <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/clinica?createDatabaseIfNotExist=true" />
        <property name="javax.persistence.jdbc.user" value="root" />
        <property name="javax.persistence.jdbc.password" value="root" />

        <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
        <property name="hibernate.hbm2ddl/.auto" value="update" />

        <property name=" hibernate.id.new_generator_mappings" value="false"/>
        <property name="show_sql" value="true"/>
        <property name="hibernate.format_sql" value="true"/>
    </properties>
</persistence-unit>

Paciente.class

@JsonIgnoreProperties(ignoreUnknown=true)

@Entity @Table(name =&#34; paciente&#34;)

public class Paciente {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "idPaciente")
private int idPaciente;

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

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

@Column(name = "estado_civil")
private int estadoCivil;

@Column(name = "ci")
private int ci;

@Column(name = "fecha_registro")
private Date fechaRegistro;

@Column(name = "fecha_nacimiento")
private Date fechaNacimiento;

@Column(name = "pais_origen")
private String paisOrigen;

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

@Column(name = "telefono_particular")
private String telefonoParticular;

@Column(name = "email_particular")
private String emailParticular;

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

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

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

@Column(name = "lugar_trabajo")
private String lugarTrabajo;

@Column(name = "telefono_trabajo")
private String telefonoTrabajo;

@Column(name = "direccion_trabajo")
private String direccionTrabajo;

@Column(name = "email_trabajo")
private String emailTrabajo;

@ManyToOne(cascade = {CascadeType.ALL})
@JoinColumn(name = "idSeguro")
@JsonBackReference
private Seguro seguro;

@Column(name = "numero_seguro")
private int numeroSeguro;

@Column(name = "plan_seguro")
private String planSeguro;

@Column(name = "fecha_vencimiento_seguro")
private Date fechaVencimientoSeguro;

@Column(name = "nombre_conyuge")
private String nombreConyuge;

@Column(name = "apellido_conyuge")
private String apellidoConyuge;

@Column(name = "fecha_nacimiento_conyuge")
private Date fechaNacimientoConyuge;

@Column(name = "antecedente_conyuge")
private String antecedenteConyuge;

@Column(name = "antecedente_madre")
private String antecedenteMadre;

@Column(name = "antecedente_padre")
private String antecedentePadre;

@Column(name = "antecedente_hermanos")
private String antecedenteHermanos;

@Column(name = "habitos")
private int habitos;

@Column(name = "remitido_por_tipo")
private int remitidoPorTipo;

@Column(name = "remitido_poor_detalle")
private String remitidoPorDetalle;

@Column(name = "tiene_observacion")
private boolean tieneObservacion;

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

@OneToOne(mappedBy = "paciente",cascade = {CascadeType.ALL})
@JsonManagedReference
private AntecedenteGinecologicoFisiologico agf;
//Campos de aca para abajo van en su propio path de firebase

@OneToMany(mappedBy = "paciente",cascade = {CascadeType.ALL})
@JsonManagedReference
private List<Alergia> alergias;

@OneToMany(mappedBy = "paciente", cascade = {CascadeType.ALL})
@JsonManagedReference
private List<AntecedenteGinecologicoPatologico> agps;

@OneToMany(mappedBy = "paciente", cascade = {CascadeType.ALL})
@JsonManagedReference
private List<AntecedenteObstetrico> aos;

@OneToMany(mappedBy = "paciente", cascade = {CascadeType.ALL})
@JsonManagedReference
private List<AntecedentePersonal> aps;

@OneToMany(mappedBy = "paciente", cascade = {CascadeType.ALL})
@JsonManagedReference
private List<TratamientoQuirurgico> tratamientosQuirurgicos;

@OneToMany(mappedBy = "paciente", cascade = {CascadeType.ALL})
@JsonManagedReference
private List<Consulta> consultas;


public Paciente() {}

//Constructors

//Getters and setters

}

修改

此行发生错误

Long result = (Long) (em.createQuery("SELECT count(*) FROM Paciente").getSingleResult());

0 个答案:

没有答案