我使用Spring MVC和JPA。我想通过thymeleaf HTML连接两个类(表)中的数据,并显示两个表中的数据。
@Entity
@Table(name = "package_aud")
public class PackageAudited {
@Column(name="id")
private Integer id;
@Id
@GeneratedValue
@Column(name="rev")
private Integer rev;
@Column(name="revtype")
private Integer revtype;
@OneToOne
@JoinColumn(name = "rev", nullable=true)
private RevisionInfo info;
... more attributes and getters/setters
@Entity
@RevisionEntity(RevListener.class)
@Table(name = "revinfo")
public class RevisionInfo {
@Id
@RevisionNumber
@GeneratedValue
@Column(name="rev")
private Integer rev;
@RevisionTimestamp
@Column(name="revtstmp")
private Date revtstmp;
@Column(name="revuser")
private String revuser;
... getters/setters
public interface PackageAuditedRepository extends
CrudRepository<PackageAudited, Long> {
@Query("SELECT p, c FROM PackageAudited p join p.info c WHERE p.id =:id AND p.rev = c.rev")
List<PackageAudited> findById(@Param("id") Integer id);
@PostMapping("/listSelectedPackage")
public String selectedPackage(@RequestParam("packageId") Integer packageId, Model model) {
Iterable<PackageAudited> specificPackageHistory = this.packageAuditedRepository.findById(packageId);
model.addAttribute("specificPackageHistory", specificPackageHistory);
return "/package/listSelectedPackage";
}
<table class ="center">
<thead>
<tr>
...
</tr>
</thead>
<tbody>
<tr th:each="package : ${specificPackageHistory}">
<td th:text="${package.rev}"> </td>
<td th:text="${package.id}"> </td>
<td th:text="${package.revuser}"></td>
<td th:text="${package.revtstmp}"></td>
</tr>
</tbody>
</table>
仅将PackageAudit作为查询结果:
@Query("SELECT p FROM PackageAudited p join fetch p.info c WHERE p.id =:id")
List<PackageAudited> findById(@Param("id") Integer id);
然后更改页面上的引用方式:
<tr th:each="package : ${specificPackageHistory}">
<td th:text="${package.info.rev}"> </td>
<td th:text="${package.id}"> </td>
<td th:text="${package.info.revuser}"></td>
<td th:text="${package.info.revtstmp}"></td>
</tr>
问题内容: 如何构造一个SQL语句以跨多个平面无关表运行,并显示结果以及选择结果和结果的表名。 这种情况是这样的,我有几个表,每个表具有相同的列名。这是我从外部各方收到的数据,它们原样存储在不同的表中。 相同的表如下所示: 我需要一个SQL语句,该语句可在所有表中使用伪代码进行搜索: 在以下演示文稿中给出结果: 更复杂的是,该列可能不在所有表中,因此,如果在该表中找不到该列,则需要仔细进行查询。
问题内容: 我有2个表:product和cart,我希望结合这2个表并根据特定条件以数组形式显示数据,如下所示: 应显示特定类别下的所有产品,如果特定用户购买了给定产品中的任何产品,则其详细信息也应显示在该产品的前面 我到目前为止所做的代码是 它给出了这样的数组 但是我想要代替上面的数组的最后一个数组是 产品表视图(如您所见,产品表中包含一个productid,在每个productid下最多可以有
问题内容: 我想将列表的内容添加在一起,创建以下列表: 是否有专门以这种方式合并列表的功能? 问题答案: 这有效: 上面解释了上面使用的所有内置函数。 另一个解决方案是使用列表推导。 根据您的口味,您可以执行以下操作: 或这个:
我正在开发一个基于SAAS的站点,我必须将两个DBs中的两个表连接起来,比如说DB1中的table1和DB2中的table2。我必须使用cakephp中的join从表1和表2获取匹配记录,但它会抛出如下错误: 错误:SQLSTATE[42000]:语法错误或访问冲突:1142 SELECT命令拒绝用户'dbname'@'localhost'访问表'table_name'。 有谁能解释一下如何使用c
问题内容: 我有两个表,如下所示: 我想列出参加活动17的所有人(包括学生和教师)的名字。无论如何,我可以获得以下结果: 无需创建新表(仅使用表达式或派生关系的嵌套)? 在actid上加入JOIN会得到如下结果: 我想我需要一种串联形式? 问题答案: 您可能(或可能不需要)对ID不唯一的内容进行处理,例如
我使用的是Sprind JPA、Spring 3.1.2(将来是3.2.3)、Hibernate 4.1 final。我是Sprind Data JPA的新手。我有两个表Release_date_type和Cache_media,它们的实体如下: releaseAirdate.java 我不知道如何映射实体。我尝试了很多事情,但没有运气。任何帮助都很感激。