小编Hit*_*eeb的帖子

为什么使用JPA而不是直接在Java文件上编写SQL查询(即直接写入JDBC)?

我一直在阅读几篇文章是什么JPA (Java Persistent API)以及哪些供应商支持它(DataNucleus,JBoss Hibernate等)

我没有ORM(对象关系映射)的经验.

到目前为止我所做的是使用DTO和DAO编写自己的数据库类.到目前为止,我对我所拥有的内容感到高兴,但我想知道为什么人们使用JPA而不是包含SQL的Java文件.

对我来说,我觉得写DAO课程就像下面这样.

public class DAOUsers {
     public void insertNewUser(DTO DtoUser) {
           String query = "INSERT INTO users(username, address) " +
                          "VALUES(DtoUser.username , DtoUser.address)";
           Executor.run(query);
     }

}
Run Code Online (Sandbox Code Playgroud)

我已经了解到JPA使用JPQL,Java持久查询语言,它对实体对象而不是直接使用db表进行操作.

我的理解(纠正我,如果我错了)是这里的实体对象和我的DTO对象一样(有点像bean吗?)

但无论如何...... JPA真正有益于在我的文件中编写纯SQL吗?看起来像使用JPA所需的注释并使SQL不可读对我来说不是很有吸引力..

如果您需要更多说明,请告诉我,我是这个主题的新手,并希望听到一些意见.

java database orm jpa

51
推荐指数
7
解决办法
5万
查看次数

为什么我从Tomcat 7获得404请求的资源不可用错误

我已经在Eclipse中重新创建了这个项目,我想到了很多方法,并继续得到同样的错误 -

HTTP Status 404 - /SpringTest/hello 

    type Status report

    message /SpringTest/hello

    description The requested resource (/SpringTest/hello) is not available.
Run Code Online (Sandbox Code Playgroud)

请帮我在下面的代码中找到问题.

web.xml -

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    id="WebApp_ID" version="2.5">
    <display-name>Spring3MVC</display-name>
    <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

    <servlet>
        <servlet-name>spring</servlet-name>
        <servlet-class>
            org.springframework.web.servlet.DispatcherServlet
        </servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>spring</servlet-name>
        <url-pattern>*.html</url-pattern>
    </servlet-mapping>
</web-app>
Run Code Online (Sandbox Code Playgroud)

spring-servlet.xml -

<?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:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.0.xsd">

    <context:component-scan
        base-package="net.viralpatel.spring3.controller" />

    <bean id="viewResolver"
        class="org.springframework.web.servlet.view.UrlBasedViewResolver">
        <property name="viewClass"
            value="org.springframework.web.servlet.view.JstlView" />
        <property name="prefix" value="/WEB-INF/jsp/" />
        <property name="suffix" …
Run Code Online (Sandbox Code Playgroud)

java spring tomcat tomcat7

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

将EJB注入servlet

我用Google搜索,试图理解为什么Weblogic 10.3.4没有将EJB注入到servlet的带注释字段中.

Ear包含定义DAO EJB的ejb.jar和带有TestServlet的web.war.

PluginDataDAO.java

@Stateless
public class PluginDataDAO implements IPluginDataDAO {

}
Run Code Online (Sandbox Code Playgroud)

IPluginDataDAO.java

@Local
public interface IPluginDataDAO  {

}
Run Code Online (Sandbox Code Playgroud)

TestServlet.java

public class TestServlet extends HttpServlet {
    @EJB(mappedName = "PluginDataDAO")
    private IPluginDataDAO pluginDataDAO;
}
Run Code Online (Sandbox Code Playgroud)

web.xml中

<web-app version="2.5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID">
<servlet>
    <servlet-name>TestServlet</servlet-name>
    <servlet-class>cz.literak.blog.j2ee.TestServlet</servlet-class>
</servlet>
Run Code Online (Sandbox Code Playgroud)

Servlet位于ejb.jar中的web.war,EJB内部.没有运气,我尝试使用/不使用映射名称属性的注释.当我尝试将web.xml升级到3.0时,部署失败,未枚举3.0.怎么了?为什么pluginDataDAO仍然为空?谢谢.

java servlets dependency-injection ejb weblogic

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

预编译时从js.erb文件访问模型

我有一个Rails 3应用程序,我试图用我的数据库中的每个Nation(少于300个国家)填充javascript变量作为JSON对象.这是我nations.js.erb文件中的相关行:

_this.nations = <%= Nation.all.to_json :only => [:id], :methods => :text %>;
Run Code Online (Sandbox Code Playgroud)

当我在浏览器中调用我的js文件时,/assets/users.js这需要民族文件,该_this.nations变量完全填充.当我尝试进行预编译时,我得到以下内容:

$> rake assets:precompile
$> rake aborted!
uninitialized constant Nation (in nations.js.erb)
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:是否可以Nationjs.erb文件中引用模型或任何模型进行预编译?我也尝试使用我的NationsHelper但我的错误只是改为未初始化的常量NationsHelper.

我对RoR很新,所以如果需要我没有提供的相关信息,请问问.

ruby-on-rails precompile asset-pipeline

6
推荐指数
1
解决办法
1274
查看次数

语法错误,意外$ end,期待keyword_end

尝试单击带有变音符号的按钮时出现此错误:

syntax error, unexpected $end, expecting keyword_end
                click_on 'Neue Firma hinzuf??gen'
Run Code Online (Sandbox Code Playgroud)

我正在测试Ruby和Capabara.

##Create_User_spec.rb 
require 'acceptance/acceptance_helper' 
## Feature 'Create User' 
feature 'Create User' do ## 
Scenario 'Create a User' 
scenario 'Create a User' do 
  ## Login into the service 
  visit 'url' 
  fill_in 'User-username', :with => 'test' 
  fill_in 'User-password', :with => 'test' 
  click_on 'login' 
  click_link 'Test' 
  click_on 'Neue Firma hinzufügen' 
end 
end
Run Code Online (Sandbox Code Playgroud)

ruby syntax-error

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

actionmailer编码 - 在电子邮件客户端中呈现垃圾

我的电子邮件中有文本和HTML部分.在某些情况下,用户报告"垃圾字符",其中电子邮件包含来自数据库的值.当涉及到unicode字符时,这似乎是一个问题.我创建了一个简单的模板,它只回显了text和html部分的值(<%= @body_text %>)并用示例字符串测试它:

永久性特征ë

当我在gmail中看到这个字符串时,它看起来像:

一个永久的功能??????

检查标题我在邮件上看到了这个:

内容类型:multipart/alternative; charset = UTF-8 Content-Transfer-Encoding:7bit

然后是文本部分:

内容类型:text/plain; charset = UTF-8 Content-Transfer-Encoding:base64

和HTML部分:

内容类型:text/html; charset = UTF-8 Content-Transfer-Encoding:quoted-printable

ruby 1.9.2,rails 3.2.6

actionmailer character-encoding ruby-on-rails-3

5
推荐指数
1
解决办法
644
查看次数

为什么需要一个额外的对象?

我正在检查 Angular Bootstrap UI,尤其是服务$modal并注意到一件有趣的事情。

在他们的示例中,' http://plnkr.co/edit/E5xYKPQwYtsLJUa6FxWt?p=preview ' 在附加到弹出窗口的控制器中,他们将所选项目包含在另一个内部属性中

$scope.selected = {
   item: $scope.items[0]
};
Run Code Online (Sandbox Code Playgroud)

而不是刚刚

$scope.selected = $scope.items[0];
Run Code Online (Sandbox Code Playgroud)

事实上,他们的代码按预期工作,而我的版本却没有。

为什么需要这个?这里的 JavaScript 问题是什么?

谢谢

javascript angularjs

5
推荐指数
1
解决办法
159
查看次数

Android - 如何使用本地广播接收器?

我正在尝试使用本地广播接收器.

为了做到这一点,我已经完成了下一步 -

1)在一项活动中,我想要发生一些事情,我创造了一个课程 -

private class NewGroupReceiver extends BroadcastReceiver{

    @Override
    public void onReceive(Context context, Intent intent) {
        Log.d("The group ", "GOT IN THE RECIVING");
        Toast.makeText(this, "Working",Toast.LENGTH_SHORT).show();  
    }

}
Run Code Online (Sandbox Code Playgroud)

2)在同一个活动中,我使用了下一个代码来创建一个接收器 -

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    NewGroupReceiver receiver = new NewGroupReceiver();

    //the intent filter will be action = "com.example.demo_service.action.SERVICE_FINISHED"
    IntentFilter filter= new IntentFilter("com.example.apps.action.NEW_GROUP");

    // register the receiver:
    registerReceiver(receiver, filter);
}
Run Code Online (Sandbox Code Playgroud)

3)在服务类中,我使用下一个代码知道发生了什么事情 -

Intent resultsIntent=new Intent("com.example.apps.action.NEW_GROUP");

LocalBroadcastManager localBroadcastManager =LocalBroadcastManager.getInstance(this);

localBroadcastManager.sendBroadcast(resultsIntent);
Run Code Online (Sandbox Code Playgroud)

现在的问题是,当我想知道的事情发生时 - 我看到它进入我在步骤3中使用的代码,但它似乎没有进入BroadcastReceiver - 第1步代码.

知道我在这里做错了什么吗?谢谢你的帮助.

android broadcastreceiver

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

使用rspec进行文件上传测试

如何生成用于测试的文件,并在 rspec 中上传给定大小和测试文件?我想生成文件。

我目前在 fixtures/files 中有文件,并使用 fixture_file_upload 作为测试文件。我想消除对该示例文件的需求。

specifications rspec ruby-on-rails rspec-rails

5
推荐指数
1
解决办法
2671
查看次数

前一段时间在created_at?

我正在尝试使用

<%= comment.created_at.time_ago_in_words(from_time) %>
Run Code Online (Sandbox Code Playgroud)

但它不会工作.我希望评论显示日期为:3分钟前或2天前.

使用这个助手的正确方法是什么?

在我的布局助手:

def time_ago_in_words(from_time, include_seconds_or_options = {})
    distance_of_time_in_words(from_time, Time.now, include_seconds_or_options)
end
Run Code Online (Sandbox Code Playgroud)

谢谢!

ruby-on-rails date

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