我不熟悉使用CRUD存储库。
我有一个包含三列的数据库表:
course_id,姓名,当然
我想得到一份course\u id name的列表,例如,
SELECT id FROM table WHERE name='charmaine';
但是,我不想使用查询,而是使用crud存储库。
我的控制器显示有错误。我可以知道有这个错误吗?
我的控制器
@GetMapping(value = "getting/{name}")
//@ResponseBody
public String getting(@PathVariable("name") String name) {
List<CourseMaster> getIds = CourseService.findIdByName(Name); —> error icon here
return getIds; —> error icon here
}
服务
public List<CourseMaster> findIdByName(String Name) {
return CourseMasterRepo.findByName(Name);
}
存储库
public interface CourseMasterRepo extends CrudRepository<CourseMaster, Long> {
List<CourseMaster> findByName(String Name);
}
如果您的代码是在java Spring中完成的,则必须在hibernate中使用hql语言,即sql查询的接口。
使用lambda表达式的hql查询非常简单和有用。
例如
String hql = "FROM Employee E WHERE E.id = 10";
Query query = session.createQuery(hql);
List results = query.list();
您必须在控制器中自动连接服务类。
@Autowired
CourseService courseService;
@GetMapping(value = "getting/{name}")
public String getting(@PathVariable("name") String name) {
List<CourseMaster> getIds = courseService.findIdByName(Name);
return getIds;
}
我想使用以下查询获得结果列表: 我在它的实体类中使用了它,但我得到了异常: 当用户成功登录应用程序时,将获得matricula字段。应该通过CDI在NamedQuery中设置它来查询数据库。matricula字段位于另一个不同于此处映射的表中。 如何设置注入的setsionChave字符串在参数的矩阵,这是XRlzConsolado类类型? 豆子: 有3个实体:XRlz、XRlzConsolado
我试图使用查询特定的产品类型和大小(两个diff表中的列),从以下所有表中获取数据<我无法得到想要的结果,所以一些指导将非常有用。 请在下面找到我迄今为止尝试过的细节。 PK:主键,FK:外键 以下是表结构,下面的表(提到)映射到另一个表。 实体类: 存储库: 我使用了以下查询(一个接一个),基于prod_类型和大小,我需要从所有表中获取数据。 注:尺寸不是表MC\U产品类型的一部分。数据团队已告
我在玩spring数据存储库,有一个关于编写CRUD测试的问题。我针对Hibernate DAO和EJB3实体bean编写了许多CRUD测试,在这些测试中,我创建和实体,将其刷新到数据库中,清除实体管理器,并按ID读回它。实体管理器被清除,因此第一级缓存不会在读取时被击中。 使用spring数据存储库,我找不到一种方法来清除测试使用的底层实体管理器,这样我的读取就不会返回到实际的数据库,使我的测试
我有一个相当大的实体,有许多字段和几个与该实体交互的方法。当两个线程同时从数据库中读取数据时,存在不可重复读取的问题,其中一个线程更改了一个字段并保存了实体,而另一个线程同时读取了旧值的数据并没有更改并保存。我想的第一个解决方案是将事务隔离级别改为可重复读取,但这可能会对我的应用程序的性能产生巨大影响。我只需要在第二个方法中忽略一个字段,但在第一个方法中更改它,所以@transient注释在这里不
问题内容: 我正在编写一个存储过程,需要在该过程中动态构造一个SQL语句以引用传入的表名。 我需要让该SQL语句返回结果,然后可以在整个过程的其余部分中使用它。 我已经尝试过使用临时表和其他所有东西,但是我不断收到一条消息,我需要声明变量等。 例如: 或者… 无论如何,有没有这样做而不使用实际表? 谢谢。 问题答案: 您是否尝试过类似的方法: 您需要确保将nvarchar字符串加N作为前缀,例如。
我有一个数据已经保存在我的数据库基于我的存储库和服务。我想保存另一个数据与邮递员只改变播放器id。但它不是创建一个新的实体数据。它更新现有的实体数据。我的问题是如何更新一个数据由我的服务当它找到一个现有的id。但当它找到一个新的id将保存一个新的数据到数据库。 这是我的回购: 这是我的服务: