Ola Pessoal!
Hoje estava trabalhando em cima de um projeto , e apos uma sequencia de problemas "estupidos" resolvi postar aqui no forum para ver se alguem ja passou pelo mesmo problema , quando vou exportar minhas classes via schema export , obtenho erros malucos ! tudo que tenho de especial sao alguns relacionamentos simples , peço de antemao desculpas pelo tamanho do topico , pois irei postar tambem as minhas classes para voces terem ideia do que esta acontecendo :
=============================
Entidades
@Entity
public class User {
@Id
@SequenceGenerator ( name = "gen_user" , sequenceName = "seq_user" )
@GeneratedValue ( generator = "gen_user" )
private Long id_user ;
@Column ( name = "FirstName" , nullable = true , length = 50 )
private String firstName ;
@Column ( name = "LastName" , nullable = true , length = 100 )
private String lastName ;
@Column ( name = "CivilStarte" , nullable = true , length = 20 )
private String civilState ;
@Column ( name = "Email" , nullable = true , length = 50 )
private String email ;
@Column ( name = "Password" , nullable = true , length = 50 )
private String password ;
@Column ( name = "FixePhoneNumber" , nullable = true , length = 20 )
private String fixePhoneNumber ;
@Column ( name = "MobilePhoneNumber" , nullable = true , length = 20 )
private String mobilePhoneNumber ;
@Embedded
private Adress adress ;
@OneToMany ( cascade = CascadeType . ALL )
private List & lt ; Order & gt ; orders ;
public User (){}
}
@Entity
public class Product {
@Id
@SequenceGenerator ( name = "gen_product" , sequenceName = "seq_product" )
@GeneratedValue ( generator = "gen_product" )
private Long product_id ;
@Column ( name = "Name" , nullable = true , length = 50 )
private String name ;
@Column ( name = "Description" , nullable = true , length = 100 )
private String description ;
@Lob
private byte [] photo ;
@Column ( name = "Price" , nullable = true , length = 10 )
private int price ;
@Column ( name = "Owner" , nullable = true , length = 50 )
private String owner ;
@Column ( name = "Boutique" , nullable = true , length = 50 )
private String boutique ;
@Column ( name = "Stock" , nullable = true , length = 5 )
private int stock ;
public Product (){}
}
@Entity
public class Order {
@Id
@SequenceGenerator ( name = "gen_order" , sequenceName = "seq_order" )
@GeneratedValue ( generator = "gen_order" )
private Long id_order ;
@Column ( name = "User" , nullable = true , length = 100 )
private String user ;
@OneToMany ( cascade = CascadeType . ALL )
private List & lt ; Product & gt ; products ;
@Embedded
private Adress adress ;
public Order (){}
}
@Embeddable
public class Adress {
@Column ( name = “ Nsname ” , nullable = true , length = 150 )
private String nsname ;
@Column ( name = “ Apartment ” , nullable = true , length = 10 )
private String apartment ;
@Column ( name = “ PostalCode ” , nullable = true , length = 10 )
private String postalCode ;
@Column ( name = “ Country ” , nullable = true , length = 50 )
private String country ;
}
==========================
Obs.: Os metodos Getters e Setters foram retirados para minimizar o tamanho do codigo
E Finalmente pessoal, as minhas emcionantes exessoes!
1560 [ main ] INFO org . hibernate . connection . DriverManagerConnectionProvider - Using Hibernate built - in connection pool ( not for production use ! )
1560 [ main ] INFO org . hibernate . connection . DriverManagerConnectionProvider - Hibernate connection pool size : 20
1560 [ main ] INFO org . hibernate . connection . DriverManagerConnectionProvider - autocommit mode : false
1560 [ main ] INFO org . hibernate . connection . DriverManagerConnectionProvider - using driver : org . postgresql . Driver at URL : jdbc : postgresql : // localhost : 5432 / vandji
1560 [ main ] INFO org . hibernate . connection . DriverManagerConnectionProvider - connection properties : { user = postgres , password =**** }
alter table Order_Product
drop constraint FK75A994BEEF55159E
alter table Order_Product
drop constraint FK75A994BEA3E4292A
alter table User_Order
drop constraint FKE8287DDAB7F53E7
alter table User_Order
drop constraint FKE8287DDA6D697FD1
drop table Order
drop table Order_Product
drop table Product
drop table User
drop table User_Order
drop sequence seq_order
drop sequence seq_product
drop sequence seq_user
create table Order (
id_order int8 not null ,
Apartment varchar ( 10 ),
Country varchar ( 50 ),
Nsname varchar ( 150 ),
PostalCode varchar ( 10 ),
User varchar ( 100 ),
primary key ( id_order )
)
1764 [main] ERROR org.hibernate.tool.hbm2ddl.SchemaExport - Unsuccessful: create table Order (id_order int8 not null, Apartment varchar(10), Country varchar(50), Nsname varchar(150), PostalCode varchar(10), User varchar(100), primary key (id_order))
1764 [main] ERROR org.hibernate.tool.hbm2ddl.SchemaExport - ERROR: syntax error at or near “Order”
create table Order_Product (
Order_id_order int8 not null ,
products_product_id int8 not null ,
unique ( products_product_id )
)
create table Product (
product_id int8 not null ,
Boutique varchar ( 50 ),
Description varchar ( 100 ),
Name varchar ( 50 ),
Owner varchar ( 50 ),
photo oid ,
Price int4 ,
Stock int4 ,
primary key ( product_id )
)
create table User (
id_user int8 not null ,
Apartment varchar ( 10 ),
Country varchar ( 50 ),
Nsname varchar ( 150 ),
PostalCode varchar ( 10 ),
CivilStarte varchar ( 20 ),
Email varchar ( 50 ),
FirstName varchar ( 50 ),
FixePhoneNumber varchar ( 20 ),
LastName varchar ( 100 ),
MobilePhoneNumber varchar ( 20 ),
Password varchar ( 50 ),
primary key ( id_user )
)
2046 [main] ERROR org.hibernate.tool.hbm2ddl.SchemaExport - Unsuccessful: create table User (id_user int8 not null, Apartment varchar(10), Country varchar(50), Nsname varchar(150), PostalCode varchar(10), CivilStarte varchar(20), Email varchar(50), FirstName varchar(50), FixePhoneNumber varchar(20), LastName varchar(100), MobilePhoneNumber varchar(20), Password varchar(50), primary key (id_user))
2046 [main] ERROR org.hibernate.tool.hbm2ddl.SchemaExport - ERROR: syntax error at or near “User”
create table User_Order (
User_id_user int8 not null ,
orders_id_order int8 not null ,
unique ( orders_id_order )
)
alter table Order_Product
add constraint FK75A994BEEF55159E
foreign key ( Order_id_order )
references Order
2186 [main] ERROR org.hibernate.tool.hbm2ddl.SchemaExport - Unsuccessful: alter table Order_Product add constraint FK75A994BEEF55159E foreign key (Order_id_order) references Order
2186 [main] ERROR org.hibernate.tool.hbm2ddl.SchemaExport - ERROR: syntax error at or near “Order”
alter table Order_Product
add constraint FK75A994BEA3E4292A
foreign key ( products_product_id )
references Product
alter table User_Order
add constraint FKE8287DDAB7F53E7
foreign key ( orders_id_order )
references Order
2186 [main] ERROR org.hibernate.tool.hbm2ddl.SchemaExport - Unsuccessful: alter table User_Order add constraint FKE8287DDAB7F53E7 foreign key (orders_id_order) references Order
2186 [main] ERROR org.hibernate.tool.hbm2ddl.SchemaExport - ERROR: syntax error at or near “Order”
alter table User_Order
add constraint FKE8287DDA6D697FD1
foreign key ( User_id_user )
references User
2202 [main] ERROR org.hibernate.tool.hbm2ddl.SchemaExport - Unsuccessful: alter table User_Order add constraint FKE8287DDA6D697FD1 foreign key (User_id_user) references User
2202 [main] ERROR org.hibernate.tool.hbm2ddl.SchemaExport - ERROR: syntax error at or near “User”
create sequence seq_order
create sequence seq_product
create sequence seq_user
2248 [main] INFO org.hibernate.tool.hbm2ddl.SchemaExport - schema export complete
2248 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - cleaning up connection pool: jdbc:postgresql://localhost:5432/vandji
2248 [Finalizer] INFO org.hibernate.connection.DriverManagerConnectionProvider - cleaning up connection pool: jdbc:postgresql://localhost:5432/vandji
Ja estou acostumado a trabalhar com este tipo de relacionamentos e nao encontrei nada de especial… porem o unico detalhe que faz tanto sentido quanto esta excessao, é que estou usando o windows vista 64 bits, porem usando uma jvm 32 bits, eclipse 32 bits, mas o banco de dados é de 64 bits, mesmo assim, acredito que nao tem nada a ver, a unica razao de eu estar usando a jvm e eclipse 32 bits, é que eu utilizo adobe flex em todos os meus projetos e ainda nao tem versao 64 bits do flex builder… agora alguns detalhes do projeto: Estou usando Spring 2.5, blaze Data Services, hibernate 3.3.1, hibernate Annotations 3.4.0, e tambem usando o ehcache como provedor de cache de segundo nivel, agradeço a atencao do pessoal em ler este imenso post e mais ainda a intensao de ajudar que cada um tem! Abraços Pessoal, e obrigado a todos!
André de Souza