我们需要在Spring Boot中为每个表编写实体类吗?

时间:2018-10-18 00:48:31

标签: java mysql spring-boot

我有以下要求:

修改练习1的Spring引导应用程序MovieMax以使用Spring Data JPA,以便将数据保留在MySQL DB中。

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

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

以下脚本可用于创建表:

创建表用户(userid 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布尔值);

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

theaterid varchar(8)引用了Theater(theaterid),

movieid varchar(8)引用movie(movieid),

showtime varchar(8),

开始日期,

结束日期

机票价格加倍(6,2));

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

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

noofseats int,

已付双倍(8,2)

显示日期

bookingdate日期);

验证:

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

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

我是否需要为每个表编写实体类?我正在使用Spring Boot

1 个答案:

答案 0 :(得分:0)

您不需要为每个表创建类。您可以使用本机查询。 引用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()之类的方法。