1

以下のエラーが私の日食で見られます。terminalgroup オブジェクトを保存しようとしているところですが、TerminalGroupImpl が見つからないというエラーが発生しました。そこで、terminal_group テーブルの @Entity を持つ休止状態のファイルとなる TerminalGroupImpl.java を作成しました。TerminalGroupImpl.class を使用して terminal_group テーブルでクエリを実行する TerminalGroupDaoHibernate.java ファイルがあります。

誰かが私のコードの何が問題なのか、および/または何が問題なのかを理解するために何ができるかを教えてください。

エラー

Invalid property 'terminalGroupDaoHibernate' of bean class
[com.ccadllc.dac.model.consumer.terminalgroups.TerminalGroupServiceImpl]: 
Bean property 'terminalGroupDaoHibernate' is not writable or has an invalid setter method. 
Does the parameter type of the setter match the return type of the getter?

これが私のapplicationContext.xmlファイルです:

<!-- Terminal Group Service -->
<bean id="com.ccadllc.dac.model.consumer.terminalgroups.TerminalGroupService"
    class="com.ccadllc.dac.model.consumer.terminalgroups.TerminalGroupServiceImpl">
 <property name="terminalGroupDao"   
ref="com.ccadllc.dac.model.consumer.terminalgroups.dao.TerminalGroupDao"/>
 <property name="terminalGroupComponentDao" 
ref="com.ccadllc.dac.model.consumer.terminalgroups.dao.TerminalGroupComponentDao"/>
</bean>

<bean id="com.ccadllc.dac.model.consumer.terminalgroups.TerminalGroupImpl"
    class="com.ccadllc.dac.model.consumer.terminalgroups.TerminalGroupImpl" abstract="true">
    <property name="terminalGroupDaoHibernate" 
ref="com.ccadllc.dac.model.consumer.terminalgroups.dao.TerminalGroupDaoHibernate"/>
</bean>

<bean id="com.ccadllc.dac.model.consumer.terminalgroups.dao.TerminalGroupDao"
    class="com.ccadllc.dac.model.consumer.terminalgroups.dao.TerminalGroupDaoHibernate">
        <property name="messageService" ref="com.ccadllc.dac.messaging.MessagingService" /> 
</bean>

under hibernate.annotated.classes:                  
<value>com.ccadllc.dac.model.consumer.terminalgroups.TerminalGroupImpl</value>

TerminalGroupServiceImpl.java

Getter/Setter in TerminalGroupServiceImpl.java:
private TerminalGroupDao terminalGroupHibernateDao;
 /**
 * @param TerminalGroupHibernateDao The TerminalGroupHibernateDao to set.
 */
@Required
@Transactional
public void setTerminalGroupHibernateDao(final TerminalGroupDao terminalGroupHibernateDao)
{
    this.terminalGroupHibernateDao = terminalGroupHibernateDao;
}

@Required
@Transactional
public TerminalGroupDao getTerminalGroupHibernateDao()
{
    return terminalGroupHibernateDao;
}
4

3 に答える 3

0

terminalGroupHibernateDaoの代わりにterminalGroupDaoHibernateプロパティを設定しようとしています。

于 2012-04-25T19:18:15.537 に答える
0

xmlで定義したプロパティは「terminalGroupDaoHibernate」ですが、サービスimplの名前のセッターは「setTerminalGroupHibernateDao」です。タイプミスがあります。セッター名は「setTerminalGroupDaoHibernate」である必要があります

于 2012-04-25T19:18:28.320 に答える
0

getter に @Required アノテーションを追加しないでください。また、Bean xml ではプロパティ名を使用しますterminalGroupDaoが、セッターにsetTerminalGroupHibernateDaosetTerminalGroupDao.

于 2012-04-25T21:30:44.100 に答える