【问题标题】:Do we need to write entity class for each and every table in spring boot?我们是否需要在 Spring Boot 中为每个表编写实体类?
【发布时间】:2018-10-18 00:48:30
【问题描述】:

我有以下要求:

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

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

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

以下脚本可用于创建表格:

创建表user(userid varchar(8) 主键,用户名varchar(25),密码varchar(10),emailid varchar(30),phone int);

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

创建表movie(movieid varchar(8) 主键,moviename varchar(40),language varchar(15),category varchar(20),islive boolean);

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

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

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

showtime varchar(8),

开始日期,

结束日期,

ticketrate double(6,2));

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

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

noofseats int,

支付双倍(8,2),

演出日期,

预订日期);

验证:

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

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

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

【问题讨论】:

  • 4堂课太多了吗?
  • 你没有。只需使用本机查询并读取结果即可。
  • 你为什么使用 Spring Boot?

标签: java mysql spring-boot


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2020-07-11
    • 2011-09-30
    • 1970-01-01
    • 1970-01-01
    • 2011-06-11
    • 2015-02-24
    • 1970-01-01
    • 2020-03-09
    • 1970-01-01
    相关资源
    最近更新 更多