Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package model;
- import javax.persistence.Column;
- import javax.persistence.Entity;
- import javax.persistence.GeneratedValue;
- import javax.persistence.GenerationType;
- import javax.persistence.Id;
- import javax.persistence.Table;
- import javax.persistence.UniqueConstraint;
- import javax.persistence.Version;
- @Entity
- @Table(name="Cities",uniqueConstraints= {@UniqueConstraint(columnNames= {"city_id"})})
- public class Cities {
- @Id
- @GeneratedValue(strategy=GenerationType.AUTO)
- private int city_id;
- @Column(name="CITY_NAME",nullable=true,unique=false)
- private String city_name;
- @Column(name="POPULATION",nullable=true,unique=false)
- private int population;
- @Column(name="TS_CNT",nullable=false,unique=true)
- @Version
- private int ts_cnt;
- public int getCity_id() {
- return city_id;
- }
- public void setCity_id(int city_id) {
- this.city_id = city_id;
- }
- public String getCity_name() {
- return city_name;
- }
- public void setCity_name(String city_name) {
- this.city_name = city_name;
- }
- public int getPopulation() {
- return population;
- }
- public void setPopulation(int population) {
- this.population = population;
- }
- public int getTs_cnt() {
- return ts_cnt;
- }
- public void setTs_cnt(int ts_cnt) {
- this.ts_cnt = ts_cnt;
- }
- }
- package model;
- import javax.persistence.Column;
- import javax.persistence.Entity;
- import javax.persistence.GeneratedValue;
- import javax.persistence.GenerationType;
- import javax.persistence.Id;
- import javax.persistence.OneToOne;
- import javax.persistence.Table;
- @Entity
- @Table
- public class State {
- @Id
- @Column(name = "state_id", nullable = false, unique = true)
- @GeneratedValue(strategy = GenerationType.IDENTITY)
- private int state_id;
- @Column(name = "state_name", nullable = false, unique = true)
- private String state_name;
- @Column(name = "state_capital", nullable = false, unique = true)
- private String state_capital;
- @OneToOne
- private Cities cities;
- public int getState_id() {
- return state_id;
- }
- public void setState_id(int state_id) {
- this.state_id = state_id;
- }
- public String getState_name() {
- return state_name;
- }
- public void setState_name(String state_name) {
- this.state_name = state_name;
- }
- public String getState_capital() {
- return state_capital;
- }
- public void setState_capital(String state_capital) {
- this.state_capital = state_capital;
- }
- public Cities getCities() {
- return cities;
- }
- public void setCities(Cities cities) {
- this.cities = cities;
- }
- }
- package citiutilities;
- import org.hibernate.HibernateException;
- import org.hibernate.Session;
- import interfaces.Dbops;
- import model.Cities;
- import model.State;
- public class InsertCities implements Dbops {
- public static void main(String[] args) {
- Cities citi1 = new Cities();
- State state1 = new State();
- InsertCities ic = new InsertCities();
- ic.insertCities(citi1, state1);
- }
- public void insertCities(Cities citi1, State state1) {
- citi1.setCity_id(100);
- citi1.setCity_name("Patna");
- citi1.setPopulation(180000);
- state1.setState_id(100);
- state1.setState_capital("Patna");
- state1.setState_name("Bihar");
- state1.setCities(citi1);
- Session session = CityDbUtil.createSession();
- session.beginTransaction();
- try {
- session.save(state1);
- session.getTransaction().commit();
- System.out.println("The city that was saved is :: " + citi1.getCity_id());
- } catch (HibernateException he) {
- session.getTransaction().rollback();
- he.printStackTrace();
- }
- finally {
- session.close();
- }
- }
- }
- Oct 05, 2018 9:45:27 PM org.hibernate.Version logVersion
- INFO: HHH000412: Hibernate Core {5.2.17.Final}
- Oct 05, 2018 9:45:27 PM org.hibernate.cfg.Environment <clinit>
- INFO: HHH000206: hibernate.properties not found
- Oct 05, 2018 9:45:27 PM org.hibernate.annotations.common.reflection.java.JavaReflectionManager <clinit>
- INFO: HCANN000001: Hibernate Commons Annotations {5.0.1.Final}
- Oct 05, 2018 9:45:27 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
- WARN: HHH10001002: Using Hibernate built-in connection pool (not for production use!)
- Oct 05, 2018 9:45:27 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
- INFO: HHH10001005: using driver [org.postgresql.Driver] at URL [jdbc:postgresql://localhost/subirdb]
- Oct 05, 2018 9:45:27 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
- INFO: HHH10001001: Connection properties: {user=postgres, password=****}
- Oct 05, 2018 9:45:27 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
- INFO: HHH10001003: Autocommit mode: false
- Oct 05, 2018 9:45:27 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PooledConnections <init>
- INFO: HHH000115: Hibernate connection pool size: 20 (min=1)
- Oct 05, 2018 9:45:28 PM org.hibernate.dialect.Dialect <init>
- INFO: HHH000400: Using dialect: org.hibernate.dialect.PostgreSQLDialect
- Oct 05, 2018 9:45:28 PM org.hibernate.engine.jdbc.env.internal.LobCreatorBuilderImpl useContextualLobCreation
- INFO: HHH000424: Disabling contextual LOB creation as createClob() method threw error : java.lang.reflect.InvocationTargetException
- Oct 05, 2018 9:45:28 PM org.hibernate.type.BasicTypeRegistry register
- INFO: HHH000270: Type registration [java.util.UUID] overrides previous : org.hibernate.type.UUIDBinaryType@5fa07e12
- Oct 05, 2018 9:45:29 PM org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl getIsolatedConnection
- INFO: HHH10001501: Connection obtained from JdbcConnectionAccess [org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess@2b95e48b] for (non-JTA) DDL execution was not in auto-commit mode; the Connection 'local transaction' will be committed and the Connection will be set into auto-commit mode.
- Hibernate:
- create table Cities (
- city_id int4 not null,
- CITY_NAME varchar(255),
- POPULATION int4,
- TS_CNT int4 not null,
- primary key (city_id)
- )
- Hibernate:
- create table State (
- state_id serial not null,
- state_capital varchar(255) not null,
- state_name varchar(255) not null,
- cities_city_id int4,
- primary key (state_id)
- )
- Hibernate:
- alter table Cities
- drop constraint UK_lyvuwacb89kupauxjk1103pjl
- Hibernate:
- alter table Cities
- add constraint UK_lyvuwacb89kupauxjk1103pjl unique (TS_CNT)
- Hibernate:
- alter table State
- drop constraint UK_jv8xyklsot1gudi8bfo3hrdkj
- Hibernate:
- alter table State
- add constraint UK_jv8xyklsot1gudi8bfo3hrdkj unique (state_capital)
- Hibernate:
- alter table State
- drop constraint UK_sh9wvgcb2q4h69yjib264nlh4
- Hibernate:
- alter table State
- add constraint UK_sh9wvgcb2q4h69yjib264nlh4 unique (state_name)
- Hibernate:
- alter table State
- add constraint FKmcjxnu2cw7ax2uefyvp55saky
- foreign key (cities_city_id)
- references Cities
- Oct 05, 2018 9:45:29 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
- WARN: HHH10001002: Using Hibernate built-in connection pool (not for production use!)
- Oct 05, 2018 9:45:29 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
- INFO: HHH10001005: using driver [org.postgresql.Driver] at URL [jdbc:postgresql://localhost/subirdb]
- Oct 05, 2018 9:45:29 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
- INFO: HHH10001001: Connection properties: {user=postgres, password=****}
- Oct 05, 2018 9:45:29 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
- INFO: HHH10001003: Autocommit mode: false
- Oct 05, 2018 9:45:29 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PooledConnections <init>
- INFO: HHH000115: Hibernate connection pool size: 20 (min=1)
- Oct 05, 2018 9:45:30 PM org.hibernate.dialect.Dialect <init>
- INFO: HHH000400: Using dialect: org.hibernate.dialect.PostgreSQLDialect
- Oct 05, 2018 9:45:30 PM org.hibernate.engine.jdbc.env.internal.LobCreatorBuilderImpl useContextualLobCreation
- INFO: HHH000424: Disabling contextual LOB creation as createClob() method threw error : java.lang.reflect.InvocationTargetException
- Oct 05, 2018 9:45:30 PM org.hibernate.type.BasicTypeRegistry register
- INFO: HHH000270: Type registration [java.util.UUID] overrides previous : org.hibernate.type.UUIDBinaryType@5fa07e12
- Oct 05, 2018 9:45:30 PM org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl getIsolatedConnection
- INFO: HHH10001501: Connection obtained from JdbcConnectionAccess [org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess@5cbf9e9f] for (non-JTA) DDL execution was not in auto-commit mode; the Connection 'local transaction' will be committed and the Connection will be set into auto-commit mode.
- Hibernate:
- insert
- into
- State
- (cities_city_id, state_capital, state_name)
- values
- (?, ?, ?)
- Oct 05, 2018 9:45:30 PM org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
- WARN: SQL Error: 0, SQLState: 23503
- Oct 05, 2018 9:45:30 PM org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
- ERROR: ERROR: insert or update on table "state" violates foreign key constraint "fkmcjxnu2cw7ax2uefyvp55saky"
- Detail: Key (cities_city_id)=(100) is not present in table "cities".
- org.hibernate.exception.ConstraintViolationException: could not execute statement
- at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:112)
- at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:42)
- at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:111)
- at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:97)
- at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:178)
- at org.hibernate.dialect.identity.GetGeneratedKeysDelegate.executeAndExtract(GetGeneratedKeysDelegate.java:57)
- at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:42)
- at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2933)
- at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3524)
- at org.hibernate.action.internal.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:81)
- at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:637)
- at org.hibernate.engine.spi.ActionQueue.addResolvedEntityInsertAction(ActionQueue.java:282)
- at org.hibernate.engine.spi.ActionQueue.addInsertAction(ActionQueue.java:263)
- at org.hibernate.engine.spi.ActionQueue.addAction(ActionQueue.java:317)
- at org.hibernate.event.internal.AbstractSaveEventListener.addInsertAction(AbstractSaveEventListener.java:318)
- at org.hibernate.event.internal.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:275)
- at org.hibernate.event.internal.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:182)
- at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:113)
- at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:192)
- at org.hibernate.event.internal.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:38)
- at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:177)
- at org.hibernate.event.internal.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:32)
- at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:73)
- at org.hibernate.internal.SessionImpl.fireSave(SessionImpl.java:692)
- at org.hibernate.internal.SessionImpl.save(SessionImpl.java:684)
- at org.hibernate.internal.SessionImpl.save(SessionImpl.java:679)
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
- at java.lang.reflect.Method.invoke(Unknown Source)
- at org.hibernate.context.internal.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:355)
- at com.sun.proxy.$Proxy27.save(Unknown Source)
- at citiutilities.InsertCities.insertCities(InsertCities.java:29)
- at citiutilities.InsertCities.main(InsertCities.java:14)
- Caused by: org.postgresql.util.PSQLException: ERROR: insert or update on table "state" violates foreign key constraint "fkmcjxnu2cw7ax2uefyvp55saky"
- Detail: Key (cities_city_id)=(100) is not present in table "cities".
- at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2477)
- at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2190)
- at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:300)
- at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:428)
- at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:354)
- at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:169)
- at org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:136)
- at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:175)
- ... 29 more
Add Comment
Please, Sign In to add comment