我有两张table category
以及 financial_year
. 每 category
外键指向 financial_year
.
在springmvc/jpa/hibernate中,我有相应的实体类和存储库接口(扩展) CrudRepository
). 当我 findAll
从 CategoryRepository
一切正常。这个 FinancialYear
每个实体 Category
我可以通过jsp显示相同的内容。
当我试着 findAll
从 FinancialYearRepository
不仅是各自的 Category
未获取的实体,甚至 FinancialYear
不获取列。jsp只显示表中的一个空行。以下是实体类
**Category.java**
package com.ssg...model;
import java.util.Set;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Version;
@Entity
@Table(name = "category")
public class Category implements java.io.Serializable {
@Id
@GeneratedValue
private int id;
@ManyToOne
@JoinColumn(name = "financial_year_id")
private FinancialYear financialYear;
private String name;
private String description;
...
...
**FinancialYear.java**
package com.ssg...model;
import java.util.Date;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Version;
@Entity
@Table(name = "financial_year")
public class FinancialYear implements java.io.Serializable {
@Id
@GeneratedValue
private int id;
@Column(name = "financial_year_start")
private Date financialYearStart;
@Column(name = "financial_year_end")
private Date financialYearEnd;
private String comments;
@OneToMany(mappedBy = "financialYear")
private Set<Category> categories = new HashSet<Category>();
...
...
**JPAConfig.java**
package com.ssg...config;
import java.util.Properties;
import javax.persistence.EntityManagerFactory;
import javax.sql.DataSource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import org.springframework.orm.jpa.JpaTransactionManager;
import org.springframework.orm.jpa.JpaVendorAdapter;
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
import org.springframework.orm.jpa.LocalEntityManagerFactoryBean;
import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@Configuration
@EnableJpaRepositories(basePackages = { "com.ssg...repository" })
@EnableTransactionManagement
public class JpaConfig {
@Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
LocalContainerEntityManagerFactoryBean factoryBean = new LocalContainerEntityManagerFactoryBean();
factoryBean.setPersistenceUnitName("pbaPersistenceUnit");
factoryBean.setPackagesToScan(new String[] { "com.ssg...model" });
JpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
factoryBean.setJpaVendorAdapter(vendorAdapter);
factoryBean.setJpaProperties(additionalProperties());
factoryBean.setDataSource(dataSource());
return factoryBean;
}
...
...
当我检查呈现的jsp的源代码时( financialYears.jsp
)我看到了以下内容。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Shri Ganeshaaya Namaha !!!</title>
</head>
<body>
<table border="1" cellpadding="5">
<thead>
<td>FY Start</td>
<td>FY End</td>
<td>FY Comments</td>
</thead>
<c:forEach items="[com.ssg...model.FinancialYear@41e4e4a5, com.ssg...model.FinancialYear@66363545]" var="fy">
<tr>
<td></td>
<td></td>
<td></td>
</tr>
</c:forEach>
</table>
</body>
</html>
1条答案
按热度按时间xtfmy6hx1#
我看到有人否决了我的问题,这是正确的。这个人说没有足够的研究投入,我同意。该人士还表示,这个问题并不清楚。不过,让我说,我是一个新的堆栈溢出。一些关于我需要进一步调查的方向的指示,以及我需要在问题中添加什么以使问题更清楚的指示,可能会有所帮助。上面提到的一个简短的评论会让像我这样的新手无所事事,无处寻求帮助。所以,虽然我知道每个人都非常忙,但我会要求任何回复者(对任何人未来的任何问题)更加体贴,特别是对新来的人,以便我们可以利用这个美妙的网站。
话虽如此,虽然这条评论让我有点失望,但它还是促使我在这个问题上多花点时间,尽管我的工作日程很紧,编程不是我的主要工作,我可以解决这个问题。问题很简单,我没有在jsp中包含jstl taglib。快速查看我的代码会把它透露给所有的Maven,如果你能把它指给我的话,我会很体贴的。
我接受我的错误并为此道歉。我也会要求所有人谁是如此有帮助,在这个网站上也表现出一些考虑到新手喜欢。
我的问题已经解决了。