0
私は次の形式のクラスを持っています。JPAクエリにenumを含める
@Entity
public class Person{
public enum SEX {
MALE, FEMALE, OTHER
}
private String name;
private SEX sex;
}
そして、私はJpaRepostory
を拡張するインターフェイスクラスを持っています。列挙型はクエリでは機能しません。私はSpring JPA
を使用してデータを取得しようとしています。
public interface PersonRepository extends JpaRepository<Person, Long> {
@Query("SELECT p FROM Person p WHERE
"p.SEX = com.example.Person.Sex.MALE " +
"AND p.name = :name")
public List<Person> checkName(@Param("name") String name,);
}
私は次の例外
Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: Invalid path: 'com.example.Person.Sex.MALE'
私はそれをどのように修正することができますを取得しますか?
のいずれかのパラメータを使用し、列挙値 –
に設定する必要があります。列挙型の名前は、性別ではなくSEXです。 Personの性別属性はSEXではなくSEXです。 –
Javaの命名規則に従ってください。実際には間違いを防ぐのに役立ちます。 –