5

私のJavaプロジェクトには、同じ名前でパッケージが異なる2つのエンティティがあり、これらのエンティティに対応するdaoもあります。

同じ名前の2つのエンティティが原因で、重複スキャンエラーが発生していたため、これらのエンティティに完全修飾名でname属性を追加しました。

例:Entity(name = "pckEntity)&Entity(name = "pabEntity)

しかし、現在、対応するdaosは自動配線できず、次のエラーが発生します。

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type...

エンティティでこの「名前」属性の変更をサポートするためにも、Daoで何かを変更する必要がありますか。

私はHibernate、JPA、Springを使用しています。

4

3 に答える 3

0

デフォルトでは、自動配線はタイプごとに行われます。したがって、両方のエンティティが異なるクラスであるため、アノテーションを直接使用できます@Autowired。これらがSpring Beanであることを確認してください(ここでは、Springによって管理されていることを意味します)。

@Autowired // nothing to specify, Spring automatically autowire the bean by checking type
private p.c.k.Entity entity;
@Autowired // nothing to specify, Spring automatically autowire the bean by checking type
private p.a.b.Entity entity1;
于 2013-01-24T12:02:21.120 に答える
0

@Qualifier注釈を使用できると思います

@Autowired
@Qualifier("p.c.k.Entity")
private Entity entity;

ここからたどり着いた

于 2013-01-24T11:55:49.097 に答える