小编Lur*_*k21的帖子

Spring JPA(Hibernate)没有类型的限定bean:javax.persistence.EntityManagerFactory

我正在使用Spring-boot,因此在Tomcat 7中部署了一场战争.当我启动应用程序时,我得到以下内容:

  Dec 30, 2013 7:41:06 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring FrameworkServlet 'dispatcherServlet'
2013-12-30 19:41:06 INFO  DispatcherServlet:461 - FrameworkServlet 'dispatcherServlet': initialization started
  2013-12-30 19:41:06 INFO  SimpleUrlHandlerMapping:315 - Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
  2013-12-30 19:41:06 INFO  RequestMappingHandlerMapping:181 - Mapped "{[/user],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public com.cloudfordev.controlpanel.orm.User com.cloudfordev.controlpanel.GetController.getUser(int)
  2013-12-30 19:41:07 INFO  SimpleUrlHandlerMapping:315 - Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
  2013-12-30 19:41:07 INFO  SimpleUrlHandlerMapping:315 - Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
  2013-12-30 …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate jpa spring-mvc

18
推荐指数
2
解决办法
7万
查看次数

jQueryUI自动完成值不同于标签

我有一个jQuery UI Autocomplete工作正常,如果返回的json对象如下所示:

label:name
value:name
Run Code Online (Sandbox Code Playgroud)

然后它搜索myname,当用户选择一个时,它会用myname填充输入框.

但我想要的是json对象看起来像这样:

label:name
value:id
Run Code Online (Sandbox Code Playgroud)

当我这样做时,自动完成功能使用id号而不是名称字符串填充输入框.

如何让自动完成功能将显示的文本设置为名称,并将隐藏值设置为值?

在官方文档中我没有看到任何方法.

这是我的自动完成功能:

$("#eventAccount").autocomplete({
        minLength: 2,
        source: function (request, response) {
            var term = request.term;
            if (term in cache) {
                response(cache[term]);
                return;
            }

            request.e = "getMyAccountAutocomplete";

            $.getJSON("/admin/ajaxController.php", request, function (data, status, xhr) {
                cache[term] = data;
                response(data);
            });
        }
    });
Run Code Online (Sandbox Code Playgroud)

而它正在回归的JSON:

[{"label":"My fancy name","value":"229"}]
Run Code Online (Sandbox Code Playgroud)

jquery jquery-ui jquery-ui-autocomplete

16
推荐指数
1
解决办法
1万
查看次数

Javascript:如何测试响应JSON数组是否为空

我回来了以下JSON:

{"array":[],"object":null,"bool":false}
Run Code Online (Sandbox Code Playgroud)

我正在使用以下看似详尽的if语句对其进行测试:

$.ajax({
        type: "GET",
        url: "/ajax/rest/siteService/list",
        dataType: "json",
        success: function (response) {
            var siteArray = response.array;

            // Handle the case where the user may not belong to any groups
            if (siteArray === null || siteArray=== undefined || siteArray=== '' || siteArray.length === 0) {
                            window.alert('hi');
            }
       }
});
Run Code Online (Sandbox Code Playgroud)

但警报没有解雇.:[

jquery json

14
推荐指数
2
解决办法
3万
查看次数

ClassCastException:java.lang.Object无法强制转换为java.lang.Integer

我的问题的根源是我有一个方法来处理JDBC查询并在查询后释放所有连接."ResultSet"被传递回调用方法.

我发现我不能简单地将ResultSet传递回调用方法,因为关闭了ResultSet,然后任何使用它的尝试都会产生一个已经关闭的错误.

因此,在关闭资源之前,我遍历ResultSet并将其存储在ArrayList中.

因为该方法处理任何查询,我不知道返回什么类型的类型.因此,ArrayList存储通用s.

这适用于一个表中的一个字段...在一个数据库中,即Integer []字段.

我从那里得到的是一个JDBC4Array对象,我有一段时间将它传递给Integer []以存储在ArrayList中.我确实需要它是一个Integer [].

这就是我现在所拥有的......经过很多挫败的banjaxxing之后.

在循环连接ResultSet之前,在连接关闭之前,我这样做:

            // For every row in the ResultSet
            while (rs.next()) {
                // Initialize a ITILRow for this ResultSet row
                ITILRow row = new ITILRow();

                // For each column in this row, add that object to the ITILRow
                for (int colNum=1; colNum<=numCols; colNum++) {
                    Object o = rs.getObject(colNum);

                    // JDBC4Array is a real pain in the butt
                    ArrayList<Integer> tmpList = new ArrayList<Integer>();
                    if (o != null) {
                        if (o.getClass().getSimpleName().endsWith("Array")) {
                            // …
Run Code Online (Sandbox Code Playgroud)

java classcastexception

12
推荐指数
1
解决办法
3万
查看次数

Spring-boot:不能使用持久性

我很喜欢这个,而且 - 虽然我学到了很多 - 但开始绝望了.

我已经尝试过关于这个优秀问题的所有建议:

没有为EntityManager命名的持久性提供程序

我曾经使用无处不在的HibernateUtil类在某一点上工作,但被告知要转到普通的JPA样式:

Spring RESTful控制器方法改进建议

不幸的是,我无法让bean注入在spring-boot中正常工作.这是我的尝试:

Spring JPA(Hibernate)没有类型的限定bean:javax.persistence.EntityManagerFactory

经过这条路径的大量工作后,我最终得到了一个空实体管理器.我发现了这一点并开始认为它不起作用:

在Tomcat 6中使用JPA2:@PersitenceContext不起作用,EntityManager为null

在我看来,EntityManagerFactory绝对应该是spring-boot创建的任何上下文中的bean,但是......无论如何.我认为至少这会起作用:

申请发布:

@Configuration
@ComponentScan
@EnableAutoConfiguration
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
Run Code Online (Sandbox Code Playgroud)

控制器:

@Controller
public class GetController {

    private static final String PERSISTENCE_UNIT_NAME = "cpJpaPu";  

    @RequestMapping(value = "/user", method = RequestMethod.GET)
    public @ResponseBody User getUser(@RequestParam(value="id", required=true) int id) {
        User user = null;

        EntityManagerFactory emf = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME);
        EntityManager em = emf.createEntityManager();
        UserDAO userDao = new UserDAO();
        userDao.setEntityManager(em); …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate jpa spring-boot

12
推荐指数
2
解决办法
3万
查看次数

为什么这个jQuery AJAX PUT在Chrome中工作但不在FF中工作

在Chrome中,它会像它应该的那样执行HTTP PUT,但在FireFox 21中却没有.javascript控制台或后端没有错误.

这是HTML:

<div id="createTeamModal" class="small reveal-modal">
        <form id="createTeamForm">
            <div class="row"><p id="teamFlavorText" class="lead">Building a new team</p></div>
            <div class="row">
                <div class="small-4 large-4 columns"><label>Team Name:</label></div>
                <div class="small-6 large-6 columns"><input name="teamName" id="teamName" type="text" size="20"/></div>
            </div>
            <div class="row"><p class="lead">Does this team work for a business?</p></div>
            <div class="row">
                <div class="small-4 large-4 columns"><label>Business Size:</label></div>
                <div class="small-6 large-6 columns">
                    <select id="businessSizeSelect" name="businessSizeSelect">
                    <option value="1">Nope, I work alone</option><option value="2">2 to 49</option><option value="3">50 to 99</option><option value="4">100 to 999</option><option value="5">1,000+</option>
                    </select>
                </div>
            </div>
            <div id="businessLocationDiv" class="row" style="display: none; margin-top: …
Run Code Online (Sandbox Code Playgroud)

ajax firefox jquery xmlhttprequest http-put

11
推荐指数
1
解决办法
5018
查看次数

ClassNotFoundException:org.hibernate.service.jndi.JndiException

我得到以下堆栈跟踪...

java.lang.ClassNotFoundException: org.hibernate.service.jndi.JndiException
    java.net.URLClassLoader$1.run(Unknown Source)
    java.net.URLClassLoader$1.run(Unknown Source)
    java.security.AccessController.doPrivileged(Native Method)
    java.net.URLClassLoader.findClass(Unknown Source)
    org.springframework.boot.loader.LaunchedURLClassLoader.findClass(LaunchedURLClassLoader.java:148)
    java.lang.ClassLoader.loadClass(Unknown Source)
    org.springframework.boot.loader.LaunchedURLClassLoader.doLoadClass(LaunchedURLClassLoader.java:131)
    org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:103)
    java.lang.ClassLoader.loadClass(Unknown Source)
    java.lang.Class.forName0(Native Method)
    java.lang.Class.forName(Unknown Source)
    org.jboss.logging.Logger$1.run(Logger.java:2252)
    java.security.AccessController.doPrivileged(Native Method)
    org.jboss.logging.Logger.getMessageLogger(Logger.java:2227)
    org.jboss.logging.Logger.getMessageLogger(Logger.java:2214)
    org.hibernate.ejb.Ejb3Configuration.<clinit>(Ejb3Configuration.java:143)
    org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:74)
    org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:318)
    org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:317)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1607)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1544)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475)
    org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:300)
    org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228)
    org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:296)
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195)
    org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:973)
    org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:750)
    org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482)
    org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
    org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
    com.mydomain.GetController.getUser(GetController.java:20)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    java.lang.reflect.Method.invoke(Unknown Source)
    org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:214)
    org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
    org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
    org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:748)
    org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:689)
    org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:947)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:878)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:946)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:837)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:822)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77)
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108)
Run Code Online (Sandbox Code Playgroud)

当我的Spring控制器处理连接时:

@RequestMapping(value = "/user", method = RequestMethod.GET)
    public @ResponseBody User getUser(@RequestParam(value="id", required=true) …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate jpa

11
推荐指数
2
解决办法
2万
查看次数

Java:编译冲突:返回类型与HATEOAS ResourceSupport.getId不兼容

所以我有这个HATEOAS实体.

@Entity
@Table(name="users")
public class User extends ResourceSupport {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name="id")
    private long id;

    public User() {

    }

    public Long getId() {
    return new Long(id);
    }

    public void setId(Long id) {
    this.id = id.longValue();
    }
}  
Run Code Online (Sandbox Code Playgroud)

我的实体的id类型为long,但HATEOAS的ResourceSupport要求getId返回一个Link.

实体具有Long id,因为db具有long id,并且它是持久化实体.如何使用HATEOAS实现此实体?

java rest spring jpa spring-hateoas

8
推荐指数
2
解决办法
5121
查看次数

Spring Boot - 如何获取请求的基本URL

我正在运行一个spring boot,我的一些域名服务需要知道域名.

我知道我可以在控制器方法的应用层捕获它,如下所示:

 @RequestMapping(value="/myMapping",method = RequestMethod.POST)
 public ModelandView myAction(HttpServletRequest request) {

 }
Run Code Online (Sandbox Code Playgroud)

或者,如果我正在运行一个带有战争的传统Web应用程序,我可以像这样配置一个监听器:

<listener>
    <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
Run Code Online (Sandbox Code Playgroud)

并像这样访问它:

((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest()
Run Code Online (Sandbox Code Playgroud)

但我不想像我在控制器上捕获它那样传递参数,而且我没有使用web.xml运行战争.

我怎么能吃蛋糕呢?

java spring spring-mvc spring-boot

5
推荐指数
3
解决办法
2万
查看次数

Spring Data:Injected存储库为null

不久前,我在一个@Controller中使用了Spring Data的存储库.将数据访问权限移到@Service后,它就停止了工作.一切看起来都很好....为什么这个DI失败了?

这是我的spring-config:

<?xml version="1.0" encoding="UTF-8"?>
<beans  xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
        xmlns:data="http://www.springframework.org/schema/data/jpa"
        xmlns:mvc="http://www.springframework.org/schema/mvc"
        xsi:schemaLocation="
            http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
            http://www.springframework.org/schema/mvc
            http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
            http://www.springframework.org/schema/data/jpa
            http://www.springframework.org/schema/data/jpa/spring-jpa.xsd">

    <bean id="jpaVendorAdapter" class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
        <property name="database" value="POSTGRESQL" />
        <property name="databasePlatform" value="org.hibernate.dialect.PostgreSQLDialect" />
    </bean>

    <bean id="jpaDialect" class="org.springframework.orm.jpa.vendor.HibernateJpaDialect" />

    <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
        <property name="entityManagerFactory" ref="entityManagerFactory" />
        <property name="dataSource" ref="dataSource" />
        <property name="jpaDialect" ref="jpaDialect" />
    </bean>

    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="org.postgresql.Driver" />
        <property name="url" value="jdbc:postgresql://localhost:5432/cp" />
        <property name="username" value="cp_user" />
        <property name="password" value="+JMJ+pw0m2d" />
    </bean>

    <data:repositories base-package="com.mydomain.data.repository" />

    <mvc:annotation-driven />

</beans>
Run Code Online (Sandbox Code Playgroud)

我的应用程序:

@ComponentScan
@EnableAutoConfiguration
@ImportResource("classpath:spring-config.xml") …
Run Code Online (Sandbox Code Playgroud)

java spring dependency-injection spring-data

4
推荐指数
1
解决办法
7453
查看次数