首页 > 解决方案 > 我们是否需要在 Spring Boot 中为每个表编写实体类?

问题描述

我有以下要求:

修改练习 1 的 Spring boot 应用程序 MovieMax 以使用 Spring Data JPA,以便将数据持久化在 MySQL DB 中。

从剧院表中获取剧院详细信息,从电影表中获取电影详细信息。

预订电影应更新 theatremovieshow 表和预订表中的相应详细信息

以下脚本可用于创建表:

创建表用户(用户ID varchar(8)主键,用户名varchar(25),密码varchar(10),emailid varchar(30),电话int);

创建表剧院(剧院varchar(8)主键,剧院名varchar(30),座位可用int(3),城市varchar(25));

创建表movie(movieid varchar(8)主键,moviename varchar(40),语言varchar(15),类别varchar(20),islive boolean);

创建表 Theatermovieshow( showid varchar(8) 主键,

Theaterid varchar(8) 引用了 theatre(theatrid),

movieid varchar(8) 引用电影(movieid),

showtime varchar(8),

开始日期,

结束日期,

票价双倍(6,2));

创建表 booking(bookingid int(5), userid varchar(8) 引用 user(userid),

showid varchar(8) 引用 theatremovieshow(showid),

noofseats int,

支付双倍(8,2),

显示日期,

预订日期);

确认:

执行时,应从数据库中获取所需的详细信息。

验证预订详细信息是否保留在相应的表中。

我需要为每个表编写实体类吗?我正在使用弹簧引导

标签: javamysqlspring-boot

解决方案


您不需要为每个表创建类。您可以使用本机查询。引用https://stackoverflow.com/a/50956683/1039555的答案:-

使用特定查询(本机查询)在存储库类中创建方法:

@Query(value="select * from emp", nativeQuery=true)
Object getAllFromEmp();

将此方法保留在存储库接口中并从服务类中调用它

或者您可以使用EntityManager如下对象

Query q = entityManager.createNativeQuery("SELECT * FROM emp e");
List<Object[]> empObject= q.getResultList();

对于更新,请使用类似executeUpdate().


推荐阅读