Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Entity
- @Table(name = "deportistas")
- public class Deportistas implements Serializable {
- private static final long serialVersionUID = 1L;
- @Id
- @GeneratedValue(strategy = GenerationType.IDENTITY)
- @Column(name = "codDeportista")
- private int codDeportista;
- @Column(name = "nombreDeportista", columnDefinition = "VARCHAR(60)")
- private String nombreDeportista;
- @Column(name = "dniDeportista", columnDefinition = "CHAR(12)")
- private String dniDeportista;
- @Column(name = "pais", columnDefinition = "CHAR(4)")
- private String pais;
- public int getCodDeportista() {
- return codDeportista;
- }
- public void setCodDeportista(int codDeportista) {
- this.codDeportista = codDeportista;
- }
- public String getNombreDeportista() {
- return nombreDeportista;
- }
- public void setNombreDeportista(String nombreDeportista) {
- this.nombreDeportista = nombreDeportista;
- }
- public String getDniDeportista() {
- return dniDeportista;
- }
- public void setDniDeportista(String dniDeportista) {
- this.dniDeportista = dniDeportista;
- }
- public String getPais() {
- return pais;
- }
- public void setPais(String pais) {
- this.pais = pais;
- }
- }
- public class HibernateUtil {
- private final SessionFactory sessionFactory = buildSessionFactory();
- private SessionFactory buildSessionFactory() {
- try {
- // Create the SessionFactory from hibernate.cfg.xml
- StandardServiceRegistry standardRegistry = new StandardServiceRegistryBuilder()
- .configure("hibernate.cfg.xml").build();
- Metadata metadata = new MetadataSources(standardRegistry).getMetadataBuilder().build();
- return metadata.getSessionFactoryBuilder().build();
- } catch (Throwable ex) {
- // Make sure you log the exception, as it might be swallowed
- System.err.println("Initial SessionFactory creation failed." + ex);
- throw new ExceptionInInitializerError(ex);
- }
- }
- public SessionFactory getSessionFactory() {
- return sessionFactory;
- }
- }
- <?xml version='1.0' encoding='utf-8'?>
- <!DOCTYPE hibernate-configuration PUBLIC
- "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
- "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
- <hibernate-configuration>
- <session-factory>
- <!-- Configuración de conexión a la base de datos -->
- <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
- <property name="connection.url">jdbc:mysql://localhost:3306/hibernateolimpiadas</property>
- <property name="connection.username">root</property>
- <property name="connection.password"></property>
- <!-- Pool de conexiones JDBC (se usa la que viene por defecto) -->
- <property name="connection.pool_size">1</property>
- <!-- Dialecto SQL -->
- <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
- <!-- Muestra en la consola todas las consultas SQL ejecutadas -->
- <property name="show_sql">true</property>
- <!-- Elimina y vuelve a crear el esquema de la base de datos al iniciar
- si siempre esta sin comentar cada vez que lo ejecuto crea las tablas para
- ello poner create-drop, si no quiero que vuelva a crear las tablas pondré
- update -->
- <property name="hbm2ddl.auto">create</property>
- <!-- Mapea las siguientes clases anotadas si trabajásemos con mapeo XML
- en lugar de class pondríamos resource -->
- <mapping class="proyecto.Deportistas" />
- </session-factory>
- </hibernate-configuration>
- public class DataLoader {
- private static HibernateUtil hibernate ;
- private static Session sesion ;
- public static void main(String[] args) {
- hibernate = new HibernateUtil();
- sesion = hibernate.getSessionFactory().openSession();
- sesion.beginTransaction();
- Deportistas d1 = new Deportistas();
- d1.setNombreDeportista("n1");
- d1.setDniDeportista("33.698.123-H");
- d1.setPais("HJKl");
- sesion.save(d1);
- sesion.getTransaction().commit();
- }
- WARN: GenerationTarget encountered exception accepting command : Error executing DDL via JDBC Statement
- org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL via JDBC Statement
- at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:67)
- at org.hibernate.tool.schema.internal.SchemaCreatorImpl.applySqlString(SchemaCreatorImpl.java:440)
- at org.hibernate.tool.schema.internal.SchemaCreatorImpl.applySqlStrings(SchemaCreatorImpl.java:424)
- at org.hibernate.tool.schema.internal.SchemaCreatorImpl.createFromMetadata(SchemaCreatorImpl.java:315)
- at org.hibernate.tool.schema.internal.SchemaCreatorImpl.performCreation(SchemaCreatorImpl.java:166)
- at org.hibernate.tool.schema.internal.SchemaCreatorImpl.doCreation(SchemaCreatorImpl.java:135)
- at org.hibernate.tool.schema.internal.SchemaCreatorImpl.doCreation(SchemaCreatorImpl.java:121)
- at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:155)
- at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:72)
- at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:313)
- at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:452)
- at main.HibernateUtil.buildSessionFactory(HibernateUtil.java:20)
- at main.HibernateUtil.<init>(HibernateUtil.java:11)
- at main.DataLoader.main(DataLoader.java:16)
- Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'type=MyISAM' at line 1
- at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
- at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
- at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
- at java.lang.reflect.Constructor.newInstance(Unknown Source)
- at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
- at com.mysql.jdbc.Util.getInstance(Util.java:408)
- at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:943)
- at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3973)
- at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3909)
- at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2527)
- at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2680)
- at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2483)
- at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2441)
- at com.mysql.jdbc.StatementImpl.executeInternal(StatementImpl.java:845)
- at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:745)
- at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:54)
- ... 13 more
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement