2014-12-10 3 views
0

Когда я пытаюсь добавить новую запись в таблице Work_orders я получаю сообщение об ошибке:Отображение аннотаций Hibernate

Dec 09, 2014 8:44:17 PM com.opensymphony.xwork2.util.logging.jdk.JdkLogger warn 
WARNING: No configuration found for the specified action: 'saveWorkOrder' in 
namespace: ''. Form action defaulting to 'action' attribute's literal value. 

У меня есть простой класс дао, чтобы сохранить и выбрать записи. Я использую 3 таблицы и 2 внешних ключа.

WorkOrders.java

@Entity 
@Table(name="Work_orders", schema="handyman") 
public class WorkOrder implements Serializable { 

.... 

@ManyToOne 
// @JoinColumn(name = "Companys_list_id") 
//@ManyToOne(optional=false) 
@JoinColumn(name="Companys_list_id", referencedColumnName="id") 
private Company company; 

@ManyToOne(optional=false) 
@JoinColumn(name="Handymans_list_id", referencedColumnName="id") 
private Handyman handyman; 
.... 
getters and setters 

WorkOrderDaoHibernate.java

public class WorkOrderDaoHibernate implements Serializable { 

private static final long serialVersionUID = 1L; 


public WorkOrder saveWorkOrder(WorkOrder workOrder) 
{ 
    SessionFactory sf = HibernateUtil.getSessionFactory(); 
    Session session = sf.openSession(); 
    Transaction trans = session.beginTransaction(); 
    Integer id = (Integer) session.save(workOrder); 
    trans.commit(); 
    workOrder.setId(id); 
    session.close(); 
    return workOrder; 

Hibernate файл конфигурации:

<hibernate-configuration> 

<session-factory> 

    <!-- Database connection settings --> 
    <property name="connection.driver_class">com.mysql.jdbc.Driver</property> 
    <property name="connection.url">jdbc:mysql://localhost:3306/handyman</property> 
    <property name="connection.username">root</property> 
    <property name="connection.password">1982</property> 

    <!-- JDBC connection pool (use the built-in) --> 
    <property name="connection.pool_size">5</property> 

    <!-- SQL dialect --> 
    <property name="dialect">org.hibernate.dialect.MySQLDialect</property> 

    <!-- Enable Hibernate's automatic session context management --> 
    <!-- <property name="current_session_context_class">thread</property> --> 

    <!-- Disable the second-level cache --> 
    <!-- <property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property> --> 

    <!-- Echo all executed SQL to stdout --> 
    <property name="show_sql">true</property> 
    <property name="format_sql">true</property> 

    <!-- Drop and re-create the database schema on startup --> 
    <!-- <property name="hbm2ddl.auto">update</property> --> 

    <mapping class="com.handyman.model.Company" /> 
    <mapping class="com.handyman.model.Handyman" /> 
    <mapping class="com.handyman.model.WorkOrder" /> 




</session-factory> 
+0

Вы можете разместить свой конфигурационный файл в спящем режиме. – User27854

+0

@ user2900314 только что отправил – RomZes13

+0

Конфигурационный файл hibernate - это имя файла по умолчанию файла xml, это hibernate.cfg.xml. Здесь вы указываете требуемые свойства Hibernate и ресурсы отображения. Если вы работаете с корпорацией, то удалите пароль и имя пользователя, а затем опубликуйте его. – User27854

ответ

0

В вашем методе HibernateUtil класса, внутри buildSessionFactory() попробуйте сделать это изменение и дайте мне знать, что произойдет

configuration= configuration.configure(); 
+0

Я не думаю, что это что-то изменит, мой тот же: private static SessionFactory buildSessionFactory() { \t Конфигурация конфигурации = новая Конфигурация(); \t configuration.configure(); – RomZes13

Смежные вопросы