我总是被教导在我的代码中使用 ID 来引用数据库中的记录。
但是让我们假设我们在表 Role 中具有相同的角色。现在我只想查询与角色 Player 相关的记录:
ID ROLE
1 Admin
2 Organizer
3 Player
我不知道我的代码中播放器的 ID,但我想检索所有播放器,所以我用 Hibernate 写道:
String queryString = "from User u where u.role.role = ?";
Query queryObject = getSession().createQuery(queryString);
queryObject.setParameter(0, "player");
return queryObject.list();
如您所见,我在代码中写了“播放器”。我认为这不是最好的方法,我应该使用 ID。但我不知道 ID,它可能会根据我运行应用程序的服务器而改变。我的解决方案的第二个问题是“玩家”可以大写到数据库中,这可能会随着时间的推移而改变。
那么,所有这些问题的解决方案应该是什么?有什么办法可以代替使用ID吗?或任何其他方式来改进此代码?