Code:
create table UserEnt (
id bigint not null auto_increment,
address1 varchar(150),
address2 varchar(150),
area varchar(100),
city varchar(100),
state varchar(100),
zip varchar(9),
age bigint not null,
comment varchar(255),
dateAdded datetime not null,
location varchar(255) not null,
title varchar(255) not null,
cellPhone varchar(255) not null,
education varchar(255) not null,
email varchar(40) not null unique,
firstName varchar(20) not null,
functional bit not null,
income varchar(20) not null,
lastName varchar(20) not null,
login varchar(20) not null unique,
occupation varchar(255) not null,
password varchar(20) not null,
receiveMobileCalls bit not null,
receiveMobileText bit not null,
receiveNewsletter bit not null,
resultCount bigint not null,
residence varchar(255) not null,
rights varchar(255) not null,
sex varchar(255) not null,
primary key (id)
)
create table users_friends (
user_id bigint not null,
friends_id bigint not null,
primary key (user_id, friends_id),
unique (friends_id)
)
alter table users_friends
add index FK126F65E4991CD9D (user_id),
add constraint FK126F65E4991CD9D
foreign key (user_id)
references UserEnt (id)
alter table users_friends
add index FK126F65EE9B02393 (friends_id),
add constraint FK126F65EE9B02393
foreign key (friends_id)
references UserEnt (id)
And for my insert code
Code:
UserEnt user1 = new UserEnt("John", "Doe", "user1", "pass1", "john_doe@infosys.com", new Long(21), "male", "$$", "212212212", "worker", "home", "college", true);
UserEnt user2 = new UserEnt("Mike", "Smith", "user2", "pass2", "user2@user.com", new Long(24), "male", "212212212", "worker", "home", "$$$", "college", true);
UserEnt user3 = new UserEnt("Jack", "Black", "user3", "pass3", "user3@user.com", new Long(24), "male", "212212212", "worker", "home", "$$$", "college", true);
user1.addFriend(user2);
user1.addFriend(user3);
user3.addFriend(user1);
user3.addFriend(user2);
session.save(user1);
session.save(user2);
session.save(user3);
And that insert script fails resulting in...
Not sure why there are so many insert statements either
Code:
10:22:58,657 DEBUG SQL:401 -
insert
into
users_friends
(user_id, friends_id)
values
(?, ?)
Hibernate:
insert
into
users_friends
(user_id, friends_id)
values
(?, ?)
10:22:58,672 DEBUG SQL:401 -
insert
into
users_friends
(user_id, friends_id)
values
(?, ?)
Hibernate:
insert
into
users_friends
(user_id, friends_id)
values
(?, ?)
10:22:58,672 DEBUG SQL:401 -
insert
into
users_friends
(user_id, friends_id)
values
(?, ?)
Hibernate:
insert
into
users_friends
(user_id, friends_id)
values
(?, ?)
10:22:58,672 DEBUG SQL:401 -
insert
into
users_friends
(user_id, friends_id)
values
(?, ?)
Hibernate:
insert
into
users_friends
(user_id, friends_id)
values
(?, ?)
10:22:58,672 DEBUG SQL:401 -
insert
into
users_friends
(user_id, friends_id)
values
(?, ?)
Hibernate:
insert
into
users_friends
(user_id, friends_id)
values
(?, ?)
10:22:58,672 DEBUG SQL:401 -
insert
into
users_friends
(user_id, friends_id)
values
(?, ?)
Hibernate:
insert
into
users_friends
(user_id, friends_id)
values
(?, ?)
10:22:58,672 WARN JDBCExceptionReporter:77 - SQL Error: 1062, SQLState: 23000
10:22:58,672 ERROR JDBCExceptionReporter:78 - Duplicate entry '1' for key 2
10:22:58,672 ERROR AbstractFlushingEventListener:301 - Could not synchronize database state with session
org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:71)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:253)
at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:92)
at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:87)
at org.hibernate.jdbc.AbstractBatcher.prepareBatchStatement(AbstractBatcher.java:222)
at org.hibernate.persister.collection.AbstractCollectionPersister.recreate(AbstractCollectionPersister.java:1119)
at org.hibernate.action.CollectionRecreateAction.execute(CollectionRecreateAction.java:26)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:250)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:234)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:145)
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 com.epixentertainment.util.InsertDbData.doInserts(InsertDbData.java:69)
at com.epixentertainment.util.InsertDbData.main(InsertDbData.java:44)
Caused by: java.sql.BatchUpdateException: Duplicate entry '1' for key 2