Wagner fiz algumas alteraçoes e agora falta pouco para resolver, segue o erro:
Hibernate:
/* get current state br.ucb.pojo.Proprietario */ select
proprietar_.idProprietario,
proprietar_.cpf as cpf3_,
proprietar_.numeroArrais as numeroAr3_3_,
proprietar_.proprietarioNome as propriet4_3_,
proprietar_.telefone as telefone3_
from
proprietario proprietar_
where
proprietar_.idProprietario=?
Hibernate:
/* insert br.ucb.pojo.Proprietario
*/ insert
into
proprietario
(cpf, numeroArrais, proprietarioNome, telefone, idProprietario)
values
(?, ?, ?, ?, ?)
Hibernate:
/* insert br.ucb.pojo.JetSki
*/ insert
into
embarcacao
(inscricaoEmbarcacao, nomeEmbarcacao, idProprietario)
values
(?, ?, ?)
Hibernate:
/* insert br.ucb.pojo.JetSki
*/ insert
into
jetski
(embarcacao_idEmbarcacao, idJetski, jetAno, jetComprimento, jetMarca, jetModelo, jetPotenciaMotor, jetQuantidadePessoas, jetTipoMotor, idEmbarcacao)
values
(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
21:25:12 WARN [JDBCExceptionReporter] SQL Error: 1054, SQLState: 42S22
21:25:12 ERROR [JDBCExceptionReporter] Unknown column 'jetComprimento' in 'field list'
Exception in thread "main" org.hibernate.HibernateException: Falha de inclusão no BD:
at br.ucb.hibernate.JetSkiHibernate.inclui(JetSkiHibernate.java:49)
at br.ucb.aplicacao.TesteEmbProp.inclusaoDeJetSki(TesteEmbProp.java:104)
at br.ucb.aplicacao.TesteEmbProp.main(TesteEmbProp.java:190)
Caused by: org.hibernate.exception.SQLGrammarException: could not insert: [br.ucb.pojo.JetSki]
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:92)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2454)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2854)
at org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:71)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:273)
at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:320)
at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:203)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:129)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:56)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:50)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:713)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:701)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:697)
at br.ucb.hibernate.JetSkiHibernate.inclui(JetSkiHibernate.java:38)
... 2 more
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'jetComprimento' in 'field list'
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:411)
at com.mysql.jdbc.Util.getInstance(Util.java:386)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4096)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4028)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2490)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2651)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2683)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2144)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2444)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2362)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2347)
at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:105)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2437)
... 17 more
Minhas classes:
Embarcacao Pojo:
@Entity
@Table(name = "embarcacao")
@Inheritance(strategy = InheritanceType.JOINED)
public class Embarcacao implements Serializable {
// private static final long serialVersionUID = 1L;
/**
*
*/
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "idEmbarcacao", unique = true, nullable = false)
private Integer idEmbarcacao;
@Column(name = "nomeEmbarcacao", nullable = false)
private String nomeEmbarcacao;
@Column(name = "inscricaoEmbarcacao", nullable = false)
private String inscricaoEmbarcacao;
Jetski Pojo:
@Entity
@Table(name = "jetski")
@PrimaryKeyJoinColumn(name = "idEmbarcacao")
public class JetSki extends Embarcacao {
/**
*
*/
private static final long serialVersionUID = 1L;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "embarcacao_idEmbarcacao")
private Embarcacao embarcacao;
private Integer idJetski;
@Column(name = "jetComprimento", nullable = false)
private String jetComprimento;
@Column(name = "jetPotenciaMotor", nullable = false)
private String jetPotenciaMotor;
@Column(name = "jetAno", nullable = false)
private String jetAno;
@Column(name = "jetQuantidadePessoas", nullable = false)
private String jetQuantidadePessoas;
@Column(name = "jetModelo", nullable = false)
private String jetModelo;
@Column(name = "jetMarca", nullable = false)
private String jetMarca;
@Column(name = "jetTipoMotor", nullable = false)
private String jetTipoMotor;
Segue como estou inserindo:
Proprietario proprietario1 = new Proprietario();
Embarcacao registro = new Embarcacao();
JetSki jetski1 = new JetSki();
proprietario1.setidProprietario(2);
proprietario1.setproprietarioNome("Gustavo");
proprietario1.setArrais("1256897");
proprietario1.setCpf("03668599190");
proprietario1.setTelefone("061-92312943");
jetski1.setnomeEmbarcacao("Vida Boa");
jetski1.setinscricaoEmbarcacao("Im5555");
jetski1.setProprietario(proprietario1);
jetski1.setJetAno("2010");
jetski1.setJetComprimento("2,50 m");
jetski1.setJetMarca("Susuki");
jetski1.setJetModelo("ix150");
jetski1.setJetPotenciaMotor("750 cc");
jetski1.setJetQuantidadePessoas("2");
jetski1.setJetTipoMotor("2 Tempos");