Intellij IDEA でセットアップされた小さな Web アプリ用の Spring プロジェクトがあります。
永続化レイヤーに Hibernate の上で JPA を使用します。データソース (MySQL) は Spring アプリケーション コンテキストで定義されます。
<!-- Values are configured via the property override -->
<bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" >
<property name="driverClassName" value=""/>
<property name="url" value=""/>
<property name="username" value=""/>
<property name="password" value=""/>
</bean>
実際の値はプロパティ ファイルから読み取られ、Spring によってプロパティ オーバーライド メカニズムを使用して実行時に挿入されます。
次に、データソースが同じアプリケーション コンテキストのエンティティ マネージャー ファクトリに挿入されます。
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="myDataSource"/>
</bean>
最後に、エンティティ マネージャーがアノテーションを使用して DAO に挿入されます。
/**
* Shared, thread-safe proxy for the actual transactional EntityManager
*/
@PersistenceContext
private EntityManager em;
ビルドしてTomcatにデプロイするとすべて正常に動作しますが、IntellijのJPA検証はデータソースの取得元を理解していないようです.
私のエンティティでは、テーブルの名前と列の名前に赤の下線が引かれ、検証メッセージは「テーブルを解決できません」または「列を解決できません」です。
@Entity
@Table(name = "domain")
public class Domain extends AbstractAgendaEntity {
この例では、"domain"
有効と見なされないのはその部分です。
「データベース」ツールウィンドウでデータベースを手動で構成しました。コンソールでテーブルを表示し、SQL クエリを実行できます。
Intellij にこのデータソースを使用して JPA エンティティのテーブル名を解決するように指示するにはどうすればよいですか?