<component> hibernate

0 respostas
O

Boa tarde galera. Estou com um problema no hibernate. Estou fazendo um exemplo de teste usando component no hibernate, mas ele esta dando esse erro de nome de tabela invalido:

create sequence SYSTEM.hibernate_sequence
create sequence hibernate_sequence
Hibernate: select hibernate_sequence.nextval from dual
Hibernate: insert into SYSTEM.USER (HOME_STREET, HOME_ZIPCODE, HOME_CITY, BILLING_STREET, BILLING_ZIPCODE, BILLING_CITY, USER_NAME, PASSWORD, EMAIL, RANKING, CREATED, ID_USER) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
Exception in thread "main" org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update
	at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
	at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
	at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:249)
	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:235)
	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:139)
	at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
	at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
	at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
	at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
	at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
	at br.com.mgf.teste.Teste.main(Teste.java:80)
Caused by: java.sql.BatchUpdateException: ORA-00903: invalid table name

	at oracle.jdbc.driver.DatabaseError.throwBatchUpdateException(DatabaseError.java:343)
	at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10657)
	at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:48)
	at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:242)
	... 8 more

O codigo da classe e do mapping esta abaixo.

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="br.com.mgf.modelo">

	<class name="User" table="USER" schema="SYSTEM">
	
		<id name="id" column="ID_USER" type="long">
			<generator class="sequence"/>
			
		</id>
		
		<component name="homeAddress" class="Address">
			<property name="street" type="string" column="HOME_STREET" not-null="true"/>
			<property name="zipCode" type="string" column="HOME_ZIPCODE" not-null="true"/>
			<property name="city" type="string" column="HOME_CITY" not-null="true"/>
		</component>
		
		<component name="billingAddress" class="Address">
		
			<property name="street" type="string" column="BILLING_STREET" not-null="true"/>
			<property name="zipCode" type="string" column="BILLING_ZIPCODE" not-null="true"/>
			<property name="city" type="string" column="BILLING_CITY" not-null="true"/>
							
		</component>
		
			<property name="userName" column="USER_NAME" type="string"/>
			<property name="passWord" column="PASSWORD" type="string"/>
			<property name="email" column="EMAIL" type="string"/>
			<property name="ranking" column="RANKING" type="long"/>
			<property name="created" column="CREATED" type="date"/>
		
	</class>
</hibernate-mapping>

Beans…

package br.com.mgf.modelo;

import java.io.Serializable;
import java.util.Date;

public class User implements Serializable {
	
	private Long id;
	private String userName;
	private String passWord;
	private String email;
	private Long ranking;
	private Date created;
	private Address homeAddress;
	private Address billingAddress;
		
	public Address getHomeAddress() {
		return homeAddress;
	}
	public void setHomeAddress(Address homeAddress) {
		this.homeAddress = homeAddress;
	}
	public Address getBillingAddress() {
		return billingAddress;
	}
	public void setBillingAddress(Address billingAddress) {
		this.billingAddress = billingAddress;
	}
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public String getPassWord() {
		return passWord;
	}
	public void setPassWord(String passWord) {
		this.passWord = passWord;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public Long getRanking() {
		return ranking;
	}
	public void setRanking(Long ranking) {
		this.ranking = ranking;
	}
	public Date getCreated() {
		return created;
	}
	public void setCreated(Date created) {
		this.created = created;
	}
	
}
package br.com.mgf.modelo;

import java.io.Serializable;

public class Address  {
	
	
	private String street;
	private String zipCode;
	private String city;
	
	
	public String getStreet() {
		return street;
	}
	public void setStreet(String street) {
		this.street = street;
	}
	public String getZipCode() {
		return zipCode;
	}
	public void setZipCode(String zipCode) {
		this.zipCode = zipCode;
	}
	public String getCity() {
		return city;
	}
	public void setCity(String city) {
		this.city = city;
	}
}

Classe de Teste.

public class Teste {

	private static SessionFactory factory;
	private static Session session;
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		session = new CreateTable().getSession();
		Transaction tx = session.beginTransaction();
		
		CreditCard cre = new CreditCard();
		
		Address adr = new Address();
		Address adr2 = new Address();
		User user = new User();
			
		adr.setStreet("arouca");
		adr.setCity("passos");
		adr.setZipCode("37900000");
		
		adr2.setStreet("amazonas");
		adr2.setCity("passos");
		adr2.setZipCode("37900238");
		
		user.setUserName("diego");
		user.setEmail("[email removido]");
		user.setPassWord("123");
		user.setRanking(1l);
		user.setCreated(new Date());
		
		user.setHomeAddress(adr);
		user.setBillingAddress(adr2);
		
		session.save(user);
		tx.commit();
		session.close();

	}

}

O que pode ser? Agradeco a ajuda

Criado 26 de outubro de 2007
Respostas 0
Participantes 1