たとえば、私は持っています:
@Column(name = "username")
private String m_username;
@Column アノテーションは、データベースの列名にのみ影響することに注意してください。
Hibernate はまだプロパティの名前が「m_username」であると認識しています。
プロパティ名が単なる「ユーザー名」であることをHibernateに伝えるにはどうすればよいですか?
何かいい方法があれば教えてください...
編集:この質問には関係ないため、コード例で @AccessType 注釈を削除しました。
更新: すべてをフィールド アクセスに切り替えた後、次の例外が発生します。
org.hibernate.QueryException: could not resolve property: username of: mypackage.model.User
ここで起こります:
Criteria criteria = session.createCriteria(User.class);
criteria.add(Restrictions.eq("username", username));
User result = (User) criteria.uniqueResult();
その理由は、休止状態が「m_username」という名前のプロパティを「知っている」だけである可能性が最も高いですが、私はそれを考えて「username」という名前のプロパティに対してプログラムします。また、私のゲッター/セッターが呼び出されていることに注意してください: "getUsername()" および "setUsername(String value)" (自動生成)。