Guest User

Untitled

a guest
Apr 2nd, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.72 KB | None | 0 0
  1. {
  2. "errorMessage": "Unknown entity: org.sample.serverless.aws.rds.Employee",
  3. "errorType": "org.hibernate.MappingException",
  4. "stackTrace": [
  5. "org.hibernate.metamodel.internal.MetamodelImpl.entityPersister(MetamodelImpl.java:620)",
  6. "org.hibernate.internal.SessionImpl.getEntityPersister(SessionImpl.java:1639)",
  7. "org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:108)",
  8. "org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:192)",
  9. "org.hibernate.event.internal.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:38)",
  10. "org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:177)",
  11. "org.hibernate.event.internal.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:32)",
  12. "org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:73)",
  13. "org.hibernate.internal.SessionImpl.fireSave(SessionImpl.java:694)",
  14. "org.hibernate.internal.SessionImpl.save(SessionImpl.java:686)",
  15. "org.hibernate.internal.SessionImpl.save(SessionImpl.java:681)",
  16. "org.sample.serverless.aws.rds.EmployeeHandler.handleRequest(EmployeeHandler.java:21)",
  17. "org.sample.serverless.aws.rds.EmployeeHandler.handleRequest(EmployeeHandler.java:11)"
  18. ]
  19. }
  20.  
  21. public class EmployeeHandler implements RequestHandler<Request, String> {
  22.  
  23. @Override
  24. public String handleRequest(Request request, Context context) {
  25.  
  26. SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
  27. try (Session session = sessionFactory.openSession()) {
  28. session.beginTransaction();
  29. Employee employee = new Employee();
  30. employee.setId(request.id);
  31. employee.setName(request.name);
  32. session.save(employee);
  33. session.getTransaction().commit();
  34. }
  35.  
  36. return String.format("Added %s %s.", request.id, request.name);
  37. }
  38. }
  39.  
  40. private static SessionFactory sessionFactory;
  41.  
  42. public static SessionFactory getSessionFactory() {
  43. if (null != sessionFactory)
  44. return sessionFactory;
  45.  
  46. Configuration configuration = new Configuration();
  47.  
  48. String jdbcUrl = "jdbc:postgresql://"
  49. + System.getenv("RDS_HOSTNAME")
  50. + "/"
  51. + System.getenv("RDS_DB_NAME");
  52.  
  53. configuration.setProperty("hibernate.connection.url", jdbcUrl);
  54. configuration.setProperty("hibernate.connection.username", System.getenv("RDS_USERNAME"));
  55. configuration.setProperty("hibernate.connection.password", System.getenv("RDS_PASSWORD"));
  56.  
  57. configuration.configure();
  58. ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();
  59. try {
  60. sessionFactory = configuration.buildSessionFactory(serviceRegistry);
  61. } catch (HibernateException e) {
  62. System.err.println("Initial SessionFactory creation failed." + e);
  63. throw new ExceptionInInitializerError(e);
  64. }
  65. return sessionFactory;
  66. }
  67.  
  68. package org.sample.serverless.aws.rds;
  69.  
  70. import javax.persistence.Entity;
  71. import javax.persistence.Id;
  72. import javax.persistence.Table;
  73.  
  74. @Entity
  75. @Table(name = "Employee")
  76. public class Employee implements java.io.Serializable {
  77. private static final long serialVersionUID = 1L;
  78. private int id;
  79. private String name;
  80.  
  81. public Employee() {
  82. }
  83.  
  84. public Employee(int id, String name) {
  85. this.id = id;
  86. this.name = name;
  87. }
  88.  
  89. @Id
  90. public int getId() {
  91. return id;
  92. }
  93.  
  94. public void setId(int id) {
  95. this.id = id;
  96. }
  97.  
  98. public String getName() {
  99. return name;
  100. }
  101.  
  102. public void setName(String name) {
  103. this.name = name;
  104. }
  105.  
  106. @Override
  107. public String toString() {
  108. return "Employee{" + "id=" + id + ", name=" + name + '}';
  109. }
  110. }
  111.  
  112. <?xml version="1.0" encoding="UTF-8"?>
  113. <!DOCTYPE hibernate-configuration PUBLIC
  114. "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
  115. "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
  116. <hibernate-configuration>
  117. <session-factory>
  118. <property name="hibernate.connection.driver_class">org.postgresql.Driver</property>
  119. <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
  120. <property name="show_sql">true</property>
  121. <property name="connection.pool_size">1</property>
  122.  
  123. <mapping class="org.sample.serverless.aws.rds.Employee"/>
  124.  
  125. </session-factory>
  126. </hibernate-configuration>
  127.  
  128. configuration.addAnnotatedClass(Employee.class);
Add Comment
Please, Sign In to add comment