- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正面临 Spring JPA 的以下问题。我已经完成了没有 xml 的 java 配置。
我收到“java.lang.IllegalStateException:没有从 {classpath*:META-INF/persistence.xml} 解析的持久性单元”
下面是我的应用程序配置类。
package co.in.desertlamp.configuration;
import java.util.Properties;
import javax.annotation.Resource;
import javax.sql.DataSource;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Conditional;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.core.env.Environment;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import org.springframework.jdbc.datasource.init.DataSourceInitializer;
import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator;
import org.springframework.orm.hibernate4.HibernateTransactionManager;
import org.springframework.orm.hibernate4.LocalSessionFactoryBean;
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(basePackages = "co.in.desertlamp")
@ComponentScan({ "co.in.desertlamp" })
@PropertySource(value = { "classpath:/co/in/desertlamp/resources/desertlamp.properties" })
public class DesertLampApplicationConfig {
private static final String DATABASE_DRIVER = "db.driver";
private static final String DATABASE_URL = "db.url";
private static final String DATABASE_USERNAME = "db.username";
private static final String DATABASE_PASSWORD = "db.password";
private static final String HIBERNATE_DIALECT = "hibernate.dialect";
private static final String HIBERNATE_SHOWSQL = "hibernate.show_sql";
private static final String HIBERNATE_FORMATSQL = "hibernate.format_sql";
private static final String HIBERNATE_HBM2DDL = "hibernate.hbm2ddl.auto";
@Resource
private Environment environment;
@Bean
public LocalSessionFactoryBean sessionFactory() {
LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean();
sessionFactory.setDataSource(dataSource());
sessionFactory.setPackagesToScan(new String[] { "co.in.desertlamp" });
sessionFactory.setHibernateProperties(hibernateProperties());
return sessionFactory;
}
@Bean
public DataSource dataSource() {
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName(environment.getRequiredProperty(DATABASE_DRIVER));
dataSource.setUrl(environment.getRequiredProperty(DATABASE_URL));
dataSource.setUsername(environment.getRequiredProperty(DATABASE_USERNAME));
dataSource.setPassword(environment.getRequiredProperty(DATABASE_PASSWORD));
return dataSource;
}
@Bean
@Conditional(DataSourceCondition.class)
public DataSourceInitializer dataSourceInitializer(DataSource dataSource) {
ResourceDatabasePopulator resourceDatabasePopulator = new ResourceDatabasePopulator();
//Put Logger here
resourceDatabasePopulator.addScript(new ClassPathResource("/co/in/desertlamp/scripts/loadUserAndRoleData.sql"));
DataSourceInitializer dataSourceInitializer = new DataSourceInitializer();
dataSourceInitializer.setDataSource(dataSource);
dataSourceInitializer.setDatabasePopulator(resourceDatabasePopulator);
return dataSourceInitializer;
}
private Properties hibernateProperties() {
Properties hibernateProperties = new Properties();
hibernateProperties.put(HIBERNATE_DIALECT, environment.getRequiredProperty(HIBERNATE_DIALECT));
hibernateProperties.put(HIBERNATE_SHOWSQL, environment.getRequiredProperty(HIBERNATE_SHOWSQL));
hibernateProperties.put(HIBERNATE_FORMATSQL, environment.getRequiredProperty(HIBERNATE_FORMATSQL));
hibernateProperties.put(HIBERNATE_HBM2DDL, environment.getRequiredProperty(HIBERNATE_HBM2DDL));
return hibernateProperties;
}
@Bean
@Autowired
public HibernateTransactionManager transactionManager(SessionFactory sessionFactory) {
HibernateTransactionManager hibernateTransactionManager = new HibernateTransactionManager();
hibernateTransactionManager.setSessionFactory(sessionFactory);
return hibernateTransactionManager;
}
@Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactory(){
LocalContainerEntityManagerFactoryBean localContainerEntityManagerFactoryBean = new LocalContainerEntityManagerFactoryBean();
localContainerEntityManagerFactoryBean.setDataSource(dataSource());
return localContainerEntityManagerFactoryBean;
}
}
最佳答案
您的 LocalContainerEntityManagerFactoryBean
需要知道您的位置 @Entity
类。
所以添加以下属性应该可以解决它:
localContainerEntityManagerFactoryBean.setPackagesToScan("path.to.your.entities");
localContainerEntityManagerFactoryBean.setPersistenceUnitName("name");
关于jpa - Spring JPA java.lang.IllegalStateException : No persistence units parsed from {classpath*:META-INF/persistence. xml},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37496293/
要求: 仅命令行,即没有 IDE 不想使用classpath参数 操作系统:OS X v10.6.8 步骤: 设置 CLASSPATH 环境变量:export CLASSPATH="/path-jar
将 JAR 添加到 IDE 中项目的 CLASSPATH 与将其添加到系统范围的 CLASSPATH 之间有什么区别? 最佳答案 后者对您正在运行的所有 java 应用程序都有效,而前者仅对项目有效。
我想做一个 setenv CLASSPATH /somethig/foo/junit-4.9.jar 类似的东西。进行一些搜索后(未检测到命令 setenv)。我发现我必须改用 export CLAS
在我的 RAD 中,当我启动它并转到我的工作区时,我经常看到一些项目有一个红色的错误十字标志。通常消息是某些库丢失等。但是通过转到每个项目的构建路径,我可以看到这些库存在于构建路径中。 我一直在通过删
在我的 RAD 中,当我启动它并转到我的工作区时,我经常看到一些项目有一个红色的错误十字标志。通常消息是某些库丢失等。但是通过转到每个项目的构建路径,我可以看到这些库存在于构建路径中。 我一直在通过删
这个问题在这里已经有了答案: Java will -classpath option add or replace CLASSPATH environment variable (4 个答案) 关闭
将 -classpath 选项与 java 一起使用是否会添加或替换 CLASSPATH 环境变量的内容? 最佳答案 使用类路径变量,它会覆盖环境变量的 CLASSPATH,但仅限于该 session
我有一个相对较大的 Java 应用程序,它将受益于对 Python 的一些热爱。为此,我一直致力于在 Jython 中启动和运行它。我目前的障碍是使类路径正确。 我采取了两种方法来设置类路径: 使用
这里我查看环境变量CLASSPATH daniel@daniel-laptop:~/ps/clojure/projects/ring-tutorial$ echo $CLASSPATH /home/d
我在该位置有文件 --src --> main --> config --> application --> context --> reference
MyClassWithMainMethod.java 使用 someJar.jar 的类。 如果我打电话: java -cp someJar.jar MyClassWithMainMethod 我得到
我正在处理一些 Spring XML 配置文件,有时它们使用 "classpath:/datasource.xml",有时使用 "classpath:datasource.xml"。两者有区别还是前导
Maven 识别 4 个类路径: maven.compile.classpath:编译源代码时需要在类路径中的类和 jar。所以基本上对于 maven-compiler-plugin maven.te
我想做一些类似于jython -cp FOO:BAR:BAZ argle.py的事情。 如果我将 FOO、BAR 和 BAZ 添加到 $CLASSPATH 中,则可以正常工作。我尝试在运行时将它们添加
我想确保 JAR 在部署到服务器之前不会抛出 NoClassDefinitionFound 异常。更高级的要求是能够指定额外的类路径。 如何做到这一点? 最佳答案 一般来说这是不可能的,因为您的 JA
我对 Java 还很陌生,只完成了编程入门类(class)的大部分内容,目前正在尝试通过实践来学习。在我设置了 libgdx 项目并导入它之后,我收到这两个警告,都说: “以下类路径条目在服务器的类路
同时尝试 mavenize Eclipse plugin for LESS遇到问题 #210 在 #208 中添加了提交 https://github.com/PaulVI/ow/commit/7c9
案例1: java -cp LRS3rdPartyClient.jar -jar tasks.jar 案例2: java -classpath LRS3rdPartyClient.jar;tasks
我正在尝试在Windows 7计算机上安装gradle 1.3并执行以下步骤 1.从http://www.gradle.org/网址下载了gradle-1.3.all.zip 2.将其提取到 F:\
我有一个名为App.jar的jar,其结构如下 App.jar | | |---xyzfolder | | | |--config
我是一名优秀的程序员,十分优秀!