这是我第一次使用JPA / hibernate,我正在编写一个CRUD桌面java应用程序。
我使用的是H2嵌入式数据库,一切正常,每次运行程序时hibernate都会创建表格。直到我决定使用MySQL服务器代替H2嵌入式数据库,现在我得到了这个
[MySQLSyntaxErrorException:Table' clinica.paciente'不存在]
例外,
我经历了很多类似的问题,但没有答案对我有用,希望有人能帮助我。
提前致谢!
<?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>
@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());