Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Aug 03, 2017 3:08:48 PM org.hibernate.tool.hbm2ddl.SchemaExport perform
- ERROR: HHH000389: Unsuccessful: alter table USER_PHONE add constraint FK_7tld9vo1aaxb84829bpv9142k foreign key (USER_ID) references USERS
- Aug 03, 2017 3:08:48 PM org.hibernate.tool.hbm2ddl.SchemaExport perform
- ERROR: ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired
- Aug 03, 2017 3:08:48 PM org.hibernate.tool.hbm2ddl.SchemaExport execute
- INFO: HHH000230: Schema export complete
- Hibernate: alter table USER_PHONE add constraint FK_7tld9vo1aaxb84829bpv9142k foreign key (USER_ID) references USERS
- Hibernate: create sequence hibernate_sequence
- Hibernate: select hibernate_sequence.nextval from dual
- Hibernate: select hibernate_sequence.nextval from dual
- Hibernate: select hibernate_sequence.nextval from dual
- Hibernate: insert into PROTEIN_DATA (GOAL, TOTAL, PROTEIN_ID) values (?, ?, ?)
- package com.simple.programmer;
- import javax.persistence.Column;
- import javax.persistence.Entity;
- import javax.persistence.GeneratedValue;
- import javax.persistence.Id;
- import javax.persistence.Table;
- @Entity
- @Table(name = "PHONE")
- public class Phone {
- private long phoneId;
- private String phoneType;
- private int phoneNumber;
- public Phone() {
- }
- public Phone(String phoneType, int phoneNumber) {
- this.phoneType = phoneType;
- this.phoneNumber = phoneNumber;
- }
- @Id
- @GeneratedValue
- @Column(name = "PHONE_ID")
- public long getPhoneId() {
- return this.phoneId;
- }
- public void setPhoneId(long phoneId) {
- this.phoneId = phoneId;
- }
- @Column(name = "PHONE_TYPE", nullable = false, length=10)
- public String getPhoneType() {
- return this.phoneType;
- }
- public void setPhoneType(String phoneType) {
- this.phoneType = phoneType;
- }
- @Column(name = "PHONE_NUMBER", nullable = false, length=15)
- public int getPhoneNumber() {
- return this.phoneNumber;
- }
- public void setPhoneNumber(int phoneNumber) {
- this.phoneNumber = phoneNumber;
- }
- }
- package com.simple.programmer;
- import org.hibernate.Session;
- public class Program {
- public static void main(String[] args) {
- Session session = HibernateUtilities.getSessionFactory().openSession();
- session.beginTransaction();
- User user = new User("Deep");
- user.getUserPhoneNumbers().add(new Phone("home",94824928 ));
- ProteinData proteinData= new ProteinData();
- proteinData.setTotal(12);
- proteinData.setGoal(12);
- user.setProteinData(proteinData);
- session.save(user);
- session.getTransaction().commit();
- session.close();
- }
- }
- package com.simple.programmer;
- import javax.persistence.Column;
- import javax.persistence.Entity;
- import javax.persistence.GeneratedValue;
- import javax.persistence.Id;
- import javax.persistence.Table;
- @Entity
- @Table(name= "PROTEIN_DATA")
- public class ProteinData {
- @Id
- @GeneratedValue
- @Column(name = "PROTEIN_ID")
- private int id;
- @Column(name="TOTAL")
- private int total;
- @Column(name="GOAL")
- private int goal;
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- public int getTotal() {
- return total;
- }
- public void setTotal(int total) {
- this.total = total;
- }
- public int getGoal() {
- return goal;
- }
- public void setGoal(int goal) {
- this.goal = goal;
- }
- }
- package com.simple.programmer;
- import java.util.HashSet;
- import java.util.Set;
- import javax.persistence.CascadeType;
- import javax.persistence.Column;
- import javax.persistence.Entity;
- import javax.persistence.GeneratedValue;
- import javax.persistence.Id;
- import javax.persistence.JoinColumn;
- import javax.persistence.JoinTable;
- import javax.persistence.OneToMany;
- import javax.persistence.OneToOne;
- import javax.persistence.Table;
- @Entity
- @Table(name = "USERS")
- public class User {
- @Id
- @GeneratedValue
- @Column(name = "USER_ID")
- private long id;
- @Column(name = "MESSAGE")
- private String message;
- @OneToOne(cascade = CascadeType.ALL)
- @JoinColumn(name = "PROTEIN_ID")
- private ProteinData proteinData ;
- @OneToMany(cascade = CascadeType.ALL)
- @JoinTable(
- name = "USER_PHONE",
- joinColumns = @JoinColumn(name = "USER_ID"),
- inverseJoinColumns = @JoinColumn(name = "PHONE_ID"))
- private Set<Phone> userPhoneNumbers = new HashSet<>();
- public User() {
- }
- public ProteinData getProteinData() {
- return proteinData;
- }
- public void setProteinData(ProteinData proteinData) {
- this.proteinData = proteinData;
- }
- public User(String message, Set<Phone> userPhoneNumbers) {
- super();
- this.message = message;
- this.userPhoneNumbers = userPhoneNumbers;
- }
- public User(String message) {
- super();
- this.message = message;
- }
- public Set<Phone> getUserPhoneNumbers() {
- return userPhoneNumbers;
- }
- public void setUserPhoneNumbers(Set<Phone> userPhoneNumbers) {
- this.userPhoneNumbers = userPhoneNumbers;
- }
- public long getId() {
- return id;
- }
- public void setId(long id) {
- this.id = id;
- }
- public String getMessage() {
- return message;
- }
- public void setMessage(String message) {
- this.message = message;
- }
- }
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE hibernate-configuration PUBLIC
- "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
- "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
- <hibernate-configuration>
- <session-factory>
- <!-- Database connection settings -->
- <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
- <property name="connection.username">appuser</property>
- <property name="connection.password">appuser</property>
- <property name="connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property>
- <!-- JDBC connection pool (use the built-in) -->
- <property name="connection.pool_size">1</property>
- <!-- SQL dialect -->
- <property name="dialect">org.hibernate.dialect.Oracle10gDialect</property>
- <!-- Disable the second-level cache -->
- <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
- <property name="hibernate.show_sql">true</property>
- <property name="hibernate.hbm2ddl.auto">create-drop</property>
- <mapping class="com.simple.programmer.Phone" />
- <mapping class="com.simple.programmer.User" />
- <mapping class="com.simple.programmer.ProteinData" />
- </session-factory>
- </hibernate-configuration>
- package com.simple.programmer;
- import org.hibernate.HibernateException;
- import org.hibernate.SessionFactory;
- import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
- import org.hibernate.cfg.Configuration;
- import org.hibernate.service.ServiceRegistry;
- public class HibernateUtilities {
- private static SessionFactory sessionFactory;
- private static ServiceRegistry serviceRegistry;
- static{
- try{
- Configuration configuration = new Configuration().configure();
- serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();
- sessionFactory = configuration.buildSessionFactory(serviceRegistry);
- }catch(HibernateException exception){
- System.out.println("problem creating session");
- }
- }
- public static SessionFactory getSessionFactory(){
- return sessionFactory;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement