質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.96%

インポートされた javax.persistence.Column は見つかりませんのエラーでEntityクラスがコンパイルエラーになる

受付中

回答 1

投稿

  • 評価
  • クリップ 1
  • VIEW 8,017

a-vietnam

score 9

前提・実現したいこと

GradleとSpringとMybatisを使用してMySQLのDBに接続する
アプリケーションを作成しています。

発生している問題・エラーメッセージ

http://azuki-milk.hatenablog.com/entry/2015/02/02/163624
のサイトをもとに、サンプルアプリケーションを作成していますが、
エンティティクラスの作成で、以下のエラーが出力されて、コンパイルできません。

①インポートされた javax.persistence.XXXX は見つかりませんのエラー
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

②アノテーション部分で"XXXXを型に解決できません"のエラー
@Entity
@Id    
@Column

該当のソースコード

package entity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

@Entity // このクラスはEntityとして登録しますよ、とspringに教えてます
public class Emp {

@Id                    // プライマリーキーのものに設定してください
@GeneratedValue        // 主に数字に対して、順番に一意に設定しますよ、の意味

protected Integer empID;

@Column // ただの変数じゃなくて、DBのカラムだよ、の意味
protected String empname;

// setter & getter ---------------------
public Integer getEmpID() {
return empID;
}

public void setEmpID(Integer empID) {
this.empID = empID;
}

public void setEmpName(String empName) {
this.empname = empName;
}

public String getEmpName(){
return empname;
}

// constructor --------------------------
public Emp(){
super();
}

public Emp(Integer id, String name){
super();
this.empID =id;
this.empname = name;
}

}

試したこと

ビルドパスの設定の見直しなど
プロジェクト⇒プロパティ⇒ライブラリ

補足情報(言語/FW/ツール等のバージョンなど)

MYSQL 5.5.30
JRE jdk1.8.0_112
springBootVersion = '1.4.1.RELEASE'
springVersion = "4.3.3.RELEASE"

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • 退会済みユーザー

    2016/11/11 14:03

    こちらの質問が他のユーザから「やってほしいことだけを記載した丸投げの質問」という指摘を受けました
    「質問を編集する」ボタンから編集を行い、調査したこと・試したことを記入していただくと、回答が得られやすくなります。

  • 退会済みユーザー

    退会済みユーザー

    2016/11/11 14:05 編集

    「ビルドパスの設定の見直しなど 」をみれば JPA(java-persistence-api) が不足しているのが理解できたはずですが。

    キャンセル

回答 1

0

参考にされたサイトのgradle設定に一部誤りがあり、gradleから取得するjarファイルがEclipseに反映されないようです。

以下の設定をした後、gradleプロジェクトにて、gradle>gradleプロジェクトのリフレッシュとすると、依存関係(dependency)に設定したjarファイルをダウンロードし、プロジェクトから参照できるようになるでしょう。

以下は私の環境で動作済みです。

/*
 * This build file was auto generated by running the Gradle 'init' task
 * by 'A-pZ' at '16/11/12 1:32' with Gradle 2.13
 *
 * This generated file contains a sample Java project to get you started.
 * For more details take a look at the Java Quickstart chapter in the Gradle
 * user guide available at https://docs.gradle.org/2.13/userguide/tutorial_java_projects.html
 */

// Apply the java plugin to add support for Java
apply plugin: 'java'
// eclipse for web
apply plugin: 'eclipse'

sourceCompatibility = 1.8

// In this section you declare where to find the dependencies of your project
repositories {
    // Use 'jcenter' for resolving your dependencies.
    // You can declare any Maven/Ivy/file repository here.
    jcenter()
}

// In this section you declare the dependencies for your production and test code
dependencies {
    // The production code uses the SLF4J logging API at compile time
    compile 'org.slf4j:slf4j-api:1.7.21'

    // Declare the dependency for your favourite test framework you want to use in your tests.
    // TestNG is also supported by the Gradle Test task. Just change the
    // testCompile dependency to testCompile 'org.testng:testng:6.8.1' and add
    // 'test.useTestNG()' to your build script.
    testCompile 'junit:junit:4.12'

    //spring-boot
    compile 'org.springframework.boot:spring-boot-gradle-plugin:1.4.1.RELEASE'
    compile 'org.springframework.boot:spring-boot-starter-web:1.4.1.RELEASE'
    compile 'org.springframework.boot:spring-boot-starter-test:1.4.1.RELEASE'
    compile 'org.springframework.boot:spring-boot-starter-thymeleaf:1.4.1.RELEASE'
    compile 'org.springframework.boot:spring-boot-starter-data-jpa:1.4.1.RELEASE'

    // MySQL
    compile 'mysql:mysql-connector-java:5.1.34'
}

Entityクラス:

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

@Entity // このクラスはEntityとして登録しますよ、とspringに教えてます
public class SampleEntity {

    @Id // プライマリーキーのものに設定してください
    @GeneratedValue // 主に数字に対して、順番に一意に設定しますよ、の意味

    protected Integer empID;

    @Column // ただの変数じゃなくて、DBのカラムだよ、の意味
    protected String empname;

    // setter & getter ---------------------
    public Integer getEmpID() {
        return empID;
    }

    public void setEmpID(Integer empID) {
        this.empID = empID;
    }

    public void setEmpName(String empName) {
        this.empname = empName;
    }

    public String getEmpName() {
        return empname;
    }

    // constructor --------------------------
    public SampleEntity() {
        super();
    }

    public SampleEntity(Integer id, String name) {
        this.empID = id;
        this.empname = name;
    }
}

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.96%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる
  • トップ
  • Javaに関する質問
  • インポートされた javax.persistence.Column は見つかりませんのエラーでEntityクラスがコンパイルエラーになる