Advertisement
Guest User

Untitled

a guest
Feb 8th, 2017
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.27 KB | None | 0 0
  1. Unknown column 'employee0_2_.employee_id' in 'field list'
  2.  
  3. Что не так с полями или колонками ? Что не хватает ?
  4.  
  5. Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'employee0_2_.employee_id' in 'field list'
  6. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  7. at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
  8. at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
  9. at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
  10. at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
  11. at com.mysql.jdbc.Util.getInstance(Util.java:381)
  12. at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1030)
  13. at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
  14. at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3491)
  15. at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423)
  16. at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1936)
  17. at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2060)
  18. at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2542)
  19. at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1734)
  20. at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1885)
  21. at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:56)
  22.  
  23. @Entity
  24. @Table (name = "employee")
  25. @Inheritance(strategy = InheritanceType.JOINED)
  26. public class Employee{
  27.  
  28. public Employee(int id, String name, double salary, String specialization) {
  29. this.employee_id = id;
  30. this.name = name;
  31. this.salary = salary;
  32. this.specialization = specialization;
  33. }
  34.  
  35. @Override
  36. public String toString() {
  37. return "Employee{" +
  38. "id=" + employee_id +
  39. ", name='" + name + ''' +
  40. ", salary=" + salary +
  41. ", deg='" + specialization + ''' +
  42. '}';
  43. }
  44.  
  45. public int getId() {
  46. return employee_id;
  47. }
  48.  
  49. public void setId(int id) {
  50. this.employee_id = id;
  51. }
  52.  
  53. public String getName() {
  54. return name;
  55. }
  56.  
  57. public void setName(String name) {
  58. this.name = name;
  59. }
  60.  
  61. public double getSalary() {
  62. return salary;
  63. }
  64.  
  65. public void setSalary(double salary) {
  66. this.salary = salary;
  67. }
  68.  
  69. public String getSpecialization() {
  70. return specialization;
  71. }
  72.  
  73. public void setSpecialization(String specialization) {
  74. this.specialization = specialization;
  75. }
  76.  
  77. @Id
  78. @Column(name = "employee_id")
  79. private int employee_id;
  80.  
  81. @Column(name = "name")
  82. private String name;
  83. @Column(name = "salary")
  84. private double salary;
  85. @Column (name = "specialization")
  86. private String specialization;
  87.  
  88. public Employee(){}
  89.  
  90. @Table(name = "department")
  91. @Entity
  92. @Inheritance(strategy = InheritanceType.JOINED)
  93. public class Department extends Managers{
  94.  
  95. public String getName() {
  96. return name;
  97. }
  98.  
  99. public void setName(String name) {
  100. this.name = name;
  101. }
  102.  
  103. public Department(String name) {
  104. this.name = name;
  105. }
  106.  
  107. public Managers getManager() {
  108. return manager;
  109. }
  110.  
  111. public void setManager(Managers manager) {
  112. this.manager = manager;
  113. }
  114.  
  115. @OneToOne
  116. @JoinColumn(name = "department_id" , referencedColumnName = "manager_id", insertable = false, updatable = false)
  117. private Managers manager;
  118.  
  119. @Column(name = "name")
  120. private String name;
  121.  
  122. public int getDepartment_id() {
  123. return department_id;
  124. }
  125.  
  126. public void setDepartment_id(int department_id) {
  127. this.department_id = department_id;
  128. }
  129.  
  130. @GeneratedValue(strategy = GenerationType.AUTO)
  131. @Column(name = "department_id")
  132. private int department_id;
  133.  
  134. public Department(){}
  135.  
  136. }
  137.  
  138. @Table(name = "managers")
  139. @Entity
  140. public class Managers extends Employee{
  141.  
  142. @OneToOne
  143. @JoinColumn(name = "manager_id", referencedColumnName = "employee_id" , insertable = false, updatable = false)
  144. private Employee employee;
  145.  
  146. public String getName() {
  147. return name;
  148. }
  149.  
  150. public void setName(String name) {
  151. this.name = name;
  152. }
  153.  
  154. public String getLastname() {
  155. return lastname;
  156. }
  157.  
  158. public void setLastname(String lastname) {
  159. this.lastname = lastname;
  160. }
  161.  
  162. public Managers(String name, String lastname) {
  163. this.name = name;
  164. this.lastname = lastname;
  165. }
  166.  
  167. public Managers(){}
  168.  
  169. @Column(name = "name")
  170. private String name;
  171. @Column(name = "lastname")
  172. private String lastname;
  173.  
  174. public int getManager_id() {
  175. return manager_id;
  176. }
  177.  
  178. public void setManager_id(int manager_id) {
  179. this.manager_id = manager_id;
  180. }
  181.  
  182. @GeneratedValue(strategy = GenerationType.AUTO)
  183. @Column(name = "manager_id")
  184. private int manager_id;
  185. }
  186.  
  187. CREATE TABLE Employee(employee_id INTEGER PRIMARY KEY NULL , name VARCHAR(50) UNIQUE NULL , salary VARCHAR(50) null , specialization VARCHAR(50) NULL);
  188. CREATE TABLE Managers(name VARCHAR(50) NULL UNIQUE , lastname VARCHAR(50) NULL UNIQUE , manager_id INTEGER NULL PRIMARY KEY AUTO_INCREMENT, FOREIGN KEY (manager_id) REFERENCES Employee(employee_id) );
  189. CREATE TABLE Department (department_id INTEGER PRIMARY KEY AUTO_INCREMENT ,name VARCHAR(50) UNIQUE NULL , FOREIGN KEY (department_id) REFERENCES Managers(manager_id));
  190.  
  191. public class ApplTest {
  192.  
  193. public static void main(String[] args) {
  194.  
  195. System.out.println("In the main");
  196. EntityManagerFactory emfactory = Persistence.createEntityManagerFactory("EmployeesTesting");
  197. EntityManager entityManager = emfactory.createEntityManager();
  198.  
  199. Employee employee = new Employee(1000,"Maks",3500,"Programmer");
  200. Managers manager = new Managers("maks","Burkov");
  201. Department department = new Department("Programmers");
  202.  
  203. if(entityManager.contains(employee)){
  204. System.out.println("In the contains , the object has persistence state! ");
  205. entityManager.getTransaction().begin();
  206. entityManager.persist(employee);
  207. entityManager.persist(manager);
  208. entityManager.persist(department);
  209. entityManager.getTransaction().commit();
  210. entityManager.close();
  211. emfactory.close();
  212. System.out.println("Data Inserted!");
  213. }
  214.  
  215. else if (!(entityManager.contains(employee))){
  216. System.out.println("In the not contains, the object is detached! ");
  217. entityManager.getTransaction().begin();
  218. entityManager.merge(employee);
  219. entityManager.merge(manager);
  220. entityManager.merge(department);
  221. entityManager.getTransaction().commit();
  222. entityManager.close();
  223. emfactory.close();
  224. System.out.println("Data Inserted!");
  225. }
  226.  
  227. System.out.println("Get out from main");
  228. }
  229. }
  230.  
  231. <?xml version="1.0" encoding="UTF-8"?>
  232. <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence"
  233. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  234. xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
  235. http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
  236.  
  237. <persistence-unit name="EmployeesTesting" transaction-type="RESOURCE_LOCAL">
  238.  
  239. <provider>org.hibernate.ejb.HibernatePersistence</provider>
  240.  
  241. <class>employee.Employee</class>
  242. <class>department.Department</class>
  243. <class>managers.Managers</class>
  244.  
  245. <properties>
  246. <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/employees"/>
  247. <property name="javax.persistence.jdbc.user" value="root"/>
  248. <property name="javax.persistence.jdbc.password" value="maks19880"/>
  249. <property name="javax.persistence.jdbc.Driver" value="com.mysql.jdbc.Driver"/>
  250. </properties>
  251.  
  252. </persistence-unit>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement